GithubHelp home page GithubHelp logo

m1k1o / neko-rooms Goto Github PK

View Code? Open in Web Editor NEW
410.0 410.0 57.0 6.21 MB

Selfhosted collaborative browser - room management for n.eko

License: Apache License 2.0

Shell 4.51% Dockerfile 0.25% Go 43.47% JavaScript 0.29% HTML 2.34% Vue 20.06% TypeScript 28.72% SCSS 0.37%
borwser docker golang self-hosted virtual-browser

neko-rooms's People

Contributors

chillyember avatar gauvino avatar gbrian avatar helvio88 avatar m1k1o avatar panintegralus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

neko-rooms's Issues

Different local and external connection issues

I'm finding some weird behaviour when running neko-rooms and accessing locally and via the external domain.

I've been running neko-rooms on my server and it works well.

I can access the landing page at 8080 via both my desktop (different network to the server) and a VM running on the same subnet as the server.

This is where I encounter problems.

The server runs at 10.0.10.47.
My desktop is 10.90.0.5.
VM to test is on 10.0.10.45
My reverse proxy is at 10.0.90.10

Running locally:
I can access the landing page from both my desktop and the VM.
I can create rooms just fine using both my desktop and the VM.
I can access the rooms fine using the VM. The desktop does sometimes connect, but only once the client from the VM has connected.

Running via the internet:
I can access the landing page from both my desktop and the VM.
I can create rooms just fine using both my desktop and the VM.
Neither VM or my desktop can access the rooms.

I get this error: WRN undeclaredMediaProcessor failed to open SrtpSession: the DTLS transport has not started yet module=webrtc subsystem=pc when trying to connect.

Just wondering if I'm missing anything regarding port forwarding or my reverse proxy. I used Cloudflare to proxy my IP if that matters.

[Feature request] Allow expose multiple ports from container

Hi,

On https://codx.meetnav.com need to expose other ports than neko to allows developers to test their work from their own browser. So when user is running a website on port 3000 inside neko, I need to be accessible as well through https://rooms-domain.com/room/<room-name>-3000/ for example.

What if we create a "PORTS" section on settings and we add the extra traefik labels for this ports mapping?

Thanks

[FYI] server running neko-rooms changed the public IP. List of issues caused by this action

Hi,
The neko-rooms AWS instance changed it's public IP (DKW) so I'm listing here the issues I'm finding to get instance back on track:

(1) To update running containers:

  • Find container id
  • Stop docker
  • Edit containers setting file at /var/lib/docker/containers/{{conatiner-id}}/config.v2.json
  • Restart docker
  • Restart container (if needed Live Restore)

After that I could access the room again

Adding custom images.

So i'm pretty ok with docker and creating images. I wan't to create my own image or change one up.

How would i add them to neko-rooms?

Awesome project BTW, thank you!

UFW blocking ICE connection

Ok. Sorry to bother, but I have everything working well except for one issue.

When i enable ufw and allow the ports 80, 443, and the 59000-59049 udp ports, the ICE cant establish a connection with the firewall up.

There must be another port I'm missing that neko needs to run.

Neko room doesn't connect

I create a room and when I try to log in it fails and I got timed out
Tried using docker and install bash

Is there a way to enable debug to see what is not working?
Tried Digital Ocean and AWS

Neko alone works just fine but with rooms doesn't

how to scale neko-rooms?

trying to understand how would you scale neko-rooms, horizontally, vertically?

Are each rooms essentially individual servers on its own?

Does it make sense to host as many rooms as possible on a single server with huge amount of cpu and ram?

[bug] Room with name api

You can create a room with the name 'api',
it not only becomes not visitable, it also becomes undeletable.

My suggestion would be to make the rooms acceable und example.org/r/

It would separate, the manager from the rooms and makes it easier to configure reverse proxies.
I'm running authentik (similar to keycloak, a autentication server) and i had to make a special regex so /api is secured.
This rule would be easier if there where a clear separation between rooms and manager.

What do you think?

This project is awesome, BTW :) ๐Ÿ‘

chown error on private storage when recreating room

Hi,

I'm having an error when re-creating a room with private storage.
I'm mapping /home/heko/.mozilla folde to keep profile when the room is recreated I get this error:

chown /data/rooms/U00-gbrian/mozilla/firefox/p3gad2ub.default-esr/lock: no such file or directory

I think this issue is happening because lock is a linked file and that causes a problem with docker container if host and cotainer does not have the same folder struture.

I've commented out the lines below until having a better solution

at

if err := utils.ChownR(internalPath, privateStorageUid, privateStorageGid); err != nil {

Issue Composing Docker in VPS

I have tried the manual set-up and the express set-up methods and have followed along with the tutorials however every time I attempt to run docker-compose up -d inside neko-rooms/traefik I am met with a Traceback and warning messages stating that every variable inside the neko-rooms .env file is "blank"

I have edited everything inside the file, and every time I save the changes they save. I am wondering why the server isn't reading anything from the environment variables.

Screen Shot 2022-02-10 at 12 56 32 PM

Screen Shot 2022-02-10 at 2 09 55 PM

.

What can I do to solve this?

Using neko-rooms with nginx

Hello, how can I use this project with nginx?
I'm using the neko reverse proxy configuration, however, with neko-rooms I only get a 404 not found.

I started the server using the .http.yml file.

[Feature request]: Save room as template

Hi,

On codx we want to create template room. So a user can "fork" existing room and work on his/her own copy.

Busiess case:

We have to create a coding test for new users. We create a room, we set all tools, firefox tabs and documentation needed. We save the room as "PythonTest-SQL-Test" for example. Then we share a link with the users https://codx.meetnav.com//clinic/PythonTest-SQL-Test so users will create a new room using that template.

Proposal

I'd like to have the option to save a room as template/image to create new rooms.

What about this changes:

  • Have a new set of API calls for template maintenance. CRUD operations for endpoint "/templates"
  • Add new setting to Create API call: templateId so you can build new room from an existing template

For templates we have different docker options like: commit, save, export... but looks like CHECKPOINT could be the best option.

https://stackoverflow.com/questions/45153855/is-there-a-way-to-hibernate-a-docker-container

IOS no sound?

Lobby has no sound on IOS, do you also have this issue? it works fine on Android.

Not asking me to sign in.

I have Caddy reverse proxying to neko rooms, and when I go to the domain, it works fine, but it doesn't ask me to sign in at all.

What am I doing wrong?

Install script

  • Make install script, that would install all dependencies, pulls all imags, prompt user for data (IP, domain, ports) and run everything.
  • Make add-user script.
  • Make remove-user script.
  • Make upgrade script, that upgrades all images.

Hardware acceleration support?

Hello there! Using Neko recently, figured how to pass render devices through to docker image and enabled NEKO_HWENC for better stream encoding performance.

But in neko-rooms I don't see such options or fields to specify it manually, only NEKO_HWENC: true, which cause created room to collapse due to lack of render devices.

Can it be implemented? Is there temporary solution alongside using Neko without rooms?

Dynamic IP

When IP changes while neko-rooms is running, even new rooms use the old IP.

  • New rooms should use new IP.
  • Maybe when IP change is detected, old rooms should be recreated?

Storage Disabled

Mounts cannot be specified because storage is diabled or unavailable

^^^^tha is the error text to mount the google chrome policies file

Usage on local network

Hello, I am trying to run neko-rooms on my local network. Unfortunately traefik_1 appears to keep trying to use lets encrypt even after I copied the http docker compose.

traefik_1     | time="2021-04-28T20:30:23-07:00" level=error msg="the router neko-rooms-Main-Browser-Room@docker uses a non-existent resolver: lets-encrypt"

This line seems to be whats stopping neko_rooms from starting. I can use the external port of 8080 but it only shows the
"Room is ready!
Requested room is ready, you can join now.
Try to reload page." page with "If you see this page after refresh,
it can mean misconfiguration on your side."
So I'm guessing something is stopping the container from being forwarded correctly

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

So just testing this on my VPS, everything works good, I am able to see the webpage, however when I click on pull image button and choose a browser and click start, a modal shows up with the following message. I tried to search through the code to see what could be causing the issue (github search) but couldn't find anything..

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker 
daemon running?

[Feature] Enable debug mode

If user wants to enable debug mode on neko-rooms and neko containers, he should be able to do it. Either globally or per container.

Private mount not found

Hi @m1k1o,

Sorry maybe got wrong last time I checked but do I have to create the folder prior to mount private paths?
I'm having an error:

invalid mount config for type "bind": bind source path does not exist: /root/meetnav-browser/neko-rooms-data/rooms/qcc-qemv-nrw/mozilla

when creating a new room which I want its "mozilla" profile to be stored and host

Thanks

mobile browser

Is it possible for neko-rooms to add a mobile browser?
Nowadays, people use smartphones more frequently.I've been looking for a long time and I haven't found a shared browser solution that works on smartphone touch screens yet.Also can the script set the option to add other images?This way people can choose what they need.

[Feature] Edit room info

Such as, room's name, user's password, admin's password and max connection.
is that possible?

Need some customization

Hey,
I would like to change some things

  • Change max connection to unlimited in panel page
  • Remove chat
  • User can't see controls only volume
  • Change logo and color

please include files where i can make changes

Thank you , Appreciate your help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.