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