Skip to content

Selfhosted collaborative browser - room management for n.eko

License

Notifications You must be signed in to change notification settings

m1k1o/neko-rooms

Repository files navigation

neko-rooms

release license pulls issues Chat on discord

Simple room management system for n.eko. Self hosted rabb.it alternative.

rooms new room n.eko

Zero-knowledge installation (with HTTPS and Traefik)

If you don't have any clue about docker and stuff but only want to have fun with friends in a shared browser, we got you covered!

  • Rent a VPS with public IP and OS Ubuntu.
  • Get a domain name pointing to your IP (you can even get some for free).
  • Run install script and follow instructions.
  • Secure using HTTPs thanks to Let's Encrypt and Traefik.
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install
sudo bash neko-rooms.sh

How to start

If you want to use Traefik as reverse proxy, visit installation guide for traefik as reverse proxy.

Otherwise modify variables in docker-compose.yml and just run docker-compose up -d.

Download images / update

You need to pull all your images, that you want to use with neko-room. Otherwise, you might get this error: Error response from daemon: No such image: (see issue #1).

docker pull m1k1o/neko:firefox
docker pull m1k1o/neko:chromium
# etc...

If you want to update neko image, you need to pull new image and recreate all rooms, that use old image. To update neko rooms, simply run:

docker-compose pull
docker-compose up -d

Enable storage

You might have encountered this error:

Mounts cannot be specified because storage is disabled or unavailable.

If you didn't specify storage yet, you can do it using this tutorial.

Use nvidia GPU

If you want to use nvidia GPU, you need to install nvidia-docker.

Change neko images to nvidia images in docker-compose.yml using envorinment variable NEKO_ROOMS_NEKO_IMAGES:

NEKO_ROOMS_NEKO_IMAGES="
  ghcr.io/m1k1o/neko/nvidia-chromium:latest
  ghcr.io/m1k1o/neko/nvidia-google-chrome:latest
  ghcr.io/m1k1o/neko/nvidia-microsoft-edge:latest
  ghcr.io/m1k1o/neko/nvidia-brave:latest
"

When creating new room, you need to specify to use GPU in expext settings.

Docs

For more information visit docs.

Roadmap:

  • add GUI
  • add HTTPS support
  • add authentication provider for traefik
  • allow specifying custom ENV variables
  • allow mounting directories for persistent data
  • optionally remove Traefik as dependency
  • add upgrade button
  • auto pull images, that do not exist
  • add bearer token to for API
  • add docker SSH / TCP support
  • add docker swarm support
  • add k8s support