neko mirror
Go to file
2020-01-26 10:43:08 +00:00
.devcontainer some more tweaks 2020-01-14 09:39:47 +00:00
.docker Merge pull request #20 from sad/patch-1 2020-01-25 11:37:34 -05:00
.github some more tweaks 2020-01-14 09:39:47 +00:00
client minor chages 2020-01-25 15:14:46 +00:00
server minor changes 2020-01-26 10:43:08 +00:00
.gitattributes first commit 2020-01-13 08:05:38 +00:00
.gitignore first commit 2020-01-13 08:05:38 +00:00
docker-compose.yaml 2.0 for compatibility 2020-01-14 20:42:29 +00:00
Dockerfile minor chages 2020-01-25 15:14:46 +00:00
LICENSE added license 2020-01-14 20:59:18 +00:00
neko.code-workspace large refactor, fixes #2 2020-01-18 23:30:09 +00:00
README.md fixes #14 2020-01-24 15:47:37 +00:00
tsconfig.json first commit 2020-01-13 08:05:38 +00:00

n.eko

This is a proof of concept project I threw together over the last few days, it's not perfect, but it looks nice. This uses web rtc to stream a desktop inside of a docker container, I made this because rabb.it went under and my internet can't handle streaming and discord keeps crashing. I just want to watch anime with my friends ლ(ಠ益ಠლ) so I started digging throughout the net and found a few kinda clones, but non of them had the virtual browser, then I found Turtus and I was able to figure out the rest. This is by no means a fully featured clone of rabbit, it hs only one room. Its stateless, so no saved user names or passwords.

Why n.eko?

I like cats (Neko is the Japanese word for cat), I'm a weeb/nerd, I own the domain n.eko.moe and I love the logo /shrug

Super easy mode setup

  1. Deploy a Server/VPS

    Recomended Specs: (Note: these may not be correct, I did a small round testing, 4c/4gb worked fine with small hickups here and there)

    Resolution Cores Ram Recommendation
    576p 2 2gb Not Recommended
    720p 4 4gb Good Performance
    720p 6 4-6gb Recommended
    720p+ 8 8gb+ Best Performance
  2. SSH into your box

  3. Install Docker

    curl -sSL https://get.docker.com/ | CHANNEL=stable bash
    
  4. Run these commands:

    ufw allow 80/tcp
    wget https://raw.githubusercontent.com/nurdism/neko/master/docker-compose.yaml
    docker-compose up -d
    
  5. Visit the IP address of the droplet in your browser and login, the default password is neko

Protip: Run nano docker-compose.yaml to edit the settings, then press ctrl+x to exit and save the file.

Running the container:

sudo docker run -p 8080:8080 -e NEKO_PASSWORD='secret' -e NEKO_ADMIN='secret' --shm-size=1gb nurdism/neko:latest 

Note: --shm-size=1gb is required, firefox-esr tabs will crash

Config

NEKO_USER=$USERNAME     // User
NEKO_DISPLAY=0          // Display number
NEKO_WIDTH=1280         // Display width
NEKO_HEIGHT=720         // Display height
NEKO_PASSWORD=neko      // Password
NEKO_ADMIN=neko         // Admin Password
NEKO_BIND=0.0.0.0:8080  // Bind
NEKO_KEY=               // (SSL)Key 
NEKO_CERT=              // (SSL)Cert

Development

Highly recommend you use a dev container for vscode, I've included the .devcontainer I've used to develop this app. To build neko run: cd .docker && ./build

Non Goals

  • Turning n.eko into a service that serves multiple rooms and browsers/desktops.
  • Voice chat, use Discord)