neko-rooms
Simple room management system for n.eko. Self hosted rabb.it alternative.
Zero-knowledge installation
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.
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/install
sudo bash neko-rooms.sh
How to start
You need to have installed Docker
and docker-compose
. You need to have a custom domain pointing to your server's IP.
You can watch installation video provided by Dr R1ck:
https://www.youtube.com/watch?v=cCmnw-pq0gA
Installation guide
You only need .env.example
, docker-compose.yml
and traefik/
.
Do I need to use traefik?
- Traefik needs to be used to forward traffic to the rooms. You can put nginx in front of it, but not replace it.
- See example configuration for nginx.
You can use docker-compose.http.yml
that will expose this service to 8080
or any port. Authentication is optional. Start it quickly with docker-compose -f docker-compose.http.yml up -d
.
Step 1
Copy .env.example
to .env
and customize.
cp .env.example .env
Step 2
Create usersfile
with your users:
touch traefik/usersfile
And add as many users as you like:
echo $(htpasswd -nb user password) >> traefik/usersfile
Step 3 (HTTPS only)
Create acme.json
touch traefik/acme.json
chmod 600 traefik/acme.json
Update your email in traefik/traefik.yml
.
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.
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
- 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