Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/m1k1o/neko-rooms

Selfhosted collaborative browser - room management for n.eko
https://github.com/m1k1o/neko-rooms

borwser docker golang self-hosted virtual-browser

Last synced: about 6 hours ago
JSON representation

Selfhosted collaborative browser - room management for n.eko

Awesome Lists containing this project

README

        

# neko-rooms


release
license
pulls
issues
Chat on discord

Simple room management system for [n.eko](https://github.com/m1k1o/neko). 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.

```bash
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](./traefik/).

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).

```sh
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:

```sh
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/storage.md).

### Use nvidia GPU

If you want to use nvidia GPU, you need to install [nvidia-docker](https://github.com/NVIDIA/nvidia-docker).

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

```bash
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](./docs).

### Roadmap:
- [x] add GUI
- [x] add HTTPS support
- [x] add authentication provider for traefik
- [x] allow specifying custom ENV variables
- [x] allow mounting directories for persistent data
- [x] 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