Favicon of Neko

Neko

Neko runs a browser or desktop inside Docker and streams it over WebRTC, letting multiple people watch and control it together in real time.

Open Source Alternative to:
Neko website screenshot
Neko GitHub repository preview

Neko packages a full browser (or desktop environment) inside a Docker container and streams it to your browser tab using WebRTC. Unlike a screen-share tool, everyone connected to a Neko room sees the same video and audio feed and can take turns controlling the mouse and keyboard. It's built for people who want a shared, isolated browsing environment: teams doing cobrowsing, friends running a watch party, or anyone who needs a throwaway or persistent browser that never touches their local machine.

The project is a Go backend paired with a Vue frontend, and it ships as prebuilt Docker images for various browsers (Firefox, Chromium, Chrome, Brave, Edge, Vivaldi, Opera, Tor Browser) and desktop environments (XFCE, KDE). Because the container just runs a Linux program under X, Neko isn't limited to browsers, it can run VLC, a full desktop, or automation tools like Playwright or Puppeteer inside the isolated container.

Key features

  • WebRTC streaming: smooth, low-latency video and built-in audio, unlike image-polling approaches used by VNC/Guacamole-style tools.
  • Multi-user control: several people can join the same session, watch together, and hand off keyboard/mouse control.
  • Browser and app agnostic: prebuilt images cover most major browsers, plus desktop environments and apps like VLC or Remmina.
  • Isolated sessions: cookies and browsing state stay inside the container; nothing persists on the client, and no local data leaks unless you configure persistence.
  • Room management add-on: neko-rooms lets you spin up and manage multiple Neko instances via an API, including zero-knowledge HTTPS setups.
  • Broadcast and record: sessions can be pushed out over RTMP for streaming to Twitch/YouTube or saved to file for tutorial recording.
  • Embeddable: the virtual browser can be embedded into your own web app, similar to hosted APIs like Hyperbeam.

Ideal use cases

Neko fits well for watch parties, interactive presentations where viewers can take control, collaborative debugging or brainstorming sessions, and teaching/support scenarios where you guide someone through a controlled environment. It also works as a personal disposable or persistent browser: useful for anonymous browsing with Tor, gift shopping without leaving local traces, or accessing internal apps as a jump host without setting up a VPN.

It's a poor fit if you just need a single-user remote desktop with no real-time collaboration requirement, since simpler VNC/RDP setups may be lighter weight. It's also not a managed SaaS product: you're responsible for hosting, scaling, and securing the containers yourself, and WebRTC connectivity requires opening a UDP port range, which can be tricky behind restrictive NATs or firewalls.

Installation

Neko runs entirely in Docker, so you need Docker (and ideally Docker Compose) installed on a host with enough CPU/network capacity to encode video streams. The general pattern is to pull one of the prebuilt browser or desktop images and run it as a container, exposing the web UI port and a UDP range for WebRTC:

docker pull ghcr.io/m1k1o/neko/firefox:latest

docker run -d --name neko \
  --shm-size=2g \
  -p 8080:8080 \
  -p 52000-52100:52000-52100/udp \
  ghcr.io/m1k1o/neko/firefox:latest

Exact environment variables (passwords, screen resolution, ICE/WebRTC settings) and full docker-compose examples are covered in the official documentation, including a quick-start guide and configuration reference. If you need to manage multiple rooms or automate provisioning, use neko-rooms, which adds an API layer and supports zero-knowledge HTTPS installs. Check the supported browsers/apps list for the full set of available images beyond Firefox, and the neko-apps repo for community-contributed application images.

Frequently asked questions

Share:

Stars
22.2K
Forks
1.6K
Last commit
2 days ago
Repository age
6 years
License
Apache-2.0
Self-hosted
Yes
Activity score
82/100
View Repository
Ad
Favicon

 

  
 

Similar to Neko

Favicon

 

  
 
Favicon

 

  
 
Favicon