2021-07-24 23:47:59 +02:00
2021-06-13 14:36:15 +02:00
2021-07-17 19:52:47 +02:00
2021-05-18 11:48:14 +00:00
2021-05-22 19:25:14 +02:00
2021-07-17 20:31:32 +02:00
2021-07-24 23:47:59 +02:00
2021-05-31 20:59:44 +02:00
2021-04-07 19:49:44 +02:00
2021-03-12 10:47:34 +01:00
2021-03-08 01:07:42 +01:00
2021-03-12 12:10:39 +01:00
2021-04-04 21:00:16 +02:00
2021-05-18 11:27:43 +00:00
2021-05-18 11:27:43 +00:00
2021-03-12 12:17:33 +01:00
2021-03-07 18:18:05 +01:00
2021-05-31 21:32:41 +02:00
2021-07-17 20:31:32 +02:00

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

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.
curl https://raw.githubusercontent.com/m1k1o/neko-rooms/master/install | sudo bash

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.
  • Your domain name specified for traefik must match the domain name, that your proxy connects to. In docker-compose it is the service name.
  • 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.

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:latest
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.

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
S
Description
Languages
Go 36.8%
TypeScript 26.6%
Shell 17.3%
Vue 16.7%
HTML 2%
Other 0.6%