Run a full virtual desktop inside a Docker container, accessible via WebRTC, rig...
GitHub Repo

Run a full virtual desktop inside a Docker container, accessible via WebRTC, rig...

@the_ospsPost Author

Project Description

View on GitHub

Run a Full Virtual Desktop in Docker with Neko

Ever wanted to spin up a full virtual desktop inside a Docker container and access it right from your browser? Meet Neko, a self-hosted virtual browser that runs in Docker and streams via WebRTC. No VNC, no clunky remote desktop protocols—just a smooth, low-latency browser experience.

Whether you're testing web apps in isolation, need a disposable browser for security research, or just want a lightweight way to share a desktop session with teammates, Neko makes it dead simple.

What It Does

Neko is a Docker-based virtual browser that runs Firefox, Chromium, or other browsers inside a container and streams the session to your browser using WebRTC. Unlike traditional remote desktop solutions, WebRTC ensures low-latency video and audio streaming, making it feel like you're interacting with a local browser.

Key features:

  • Self-hosted – Run it on your own infra
  • Multi-user – Share sessions with others (great for pair debugging)
  • Hardware acceleration – Optional GPU passthrough for smoother rendering
  • Persistent sessions – Keep your tabs open between connections

Why It’s Cool

Most remote browser solutions rely on VNC or RDP, which can be sluggish and lack real-time responsiveness. Neko’s WebRTC-first approach makes it feel like a native app, even when accessed remotely.

Some clever use cases:

  • Testing in a clean environment – No local browser extensions interfering
  • Secure browsing – Isolate risky browsing in a disposable container
  • Demoing web apps – Share a live session without screen-sharing
  • Lightweight cloud desktop – Run a full browser without spinning up a VM

How to Try It

Running Neko is straightforward with Docker:

docker run -d \
  --name=neko \
  -e NEKO_PASSWORD=neko \
  -e NEKO_ADMIN=admin \
  -p 8080:8080 \
  -p 59000-59100:59000-59100/udp \
  m1k1o/neko:firefox

Then, open http://localhost:8080 in your browser and log in.

For a live demo, check out the official instance.

Final Thoughts

Neko is one of those tools that feels surprisingly polished for a self-hosted project. The WebRTC implementation is smooth, and the Docker setup removes the usual friction of remote desktop tools.

If you’ve ever needed a quick, disposable browser or a way to collaborate on web sessions, Neko is worth a spin. It’s not a full desktop replacement, but for browser-based workflows, it’s hard to beat.

Got a cool use case for Neko? Let us know @githubprojects.

Back to Projects
Project ID: 1948309353552822763Last updated: July 24, 2025 at 09:08 AM