In today’s digital landscape, online privacy is more critical than ever.

While mainstream browsers offer some privacy features, many users seek more control over their browsing data.

Neko Browser, a lightweight and privacy-focused browser, offers an alternative.

This post will explore Neko Browser and guide you through self-hosting it using Docker, giving you complete control over your browsing environment.

What is Neko Browser?

Neko Browser is designed with privacy as a core principle.

And with Apache v2 License.

A self hosted virtual browser that runs in docker and uses WebRTC.

It typically prioritizes:

  • No data retention: It avoids saving browsing history, cookies, or other personal information by default.
  • Portability: Often designed to be run from a USB drive, minimizing traces left on the host system.
  • Lightweight design: It aims to be smaller and faster than resource-intensive browsers.
  • Open Source (often): Many Neko Browser projects are open source, allowing community contributions and transparency.

Neko Browser is ideal for users who:

  • Value online privacy and want to minimize their digital footprint.
  • Need a portable browser for use on different machines.
  • Desire a lightweight and efficient browsing experience.

Neko offers distinct advantages over other solutions:

  • Smooth Video: WebRTC streaming provides a much better experience than image-based remote desktop solutions.

  • Built-in Audio: Audio support is integrated, unlike some remote desktop gateways.

  • Multi-Participant Control: Natively supports collaborative interaction.

  • Flexibility: Not limited to just browsers; run any Linux application!

  • https://github.com/m1k1o/neko-apps

Virtual environment in web browser.

Neko’s versatility makes it suitable for a wide range of applications:

  • Watch Parties: Enjoy movies or videos with friends and family remotely, with synchronized playback and chat.
  • Interactive Presentations: Engage your audience with interactive presentations where they can control the screen.
  • Collaborative Tools: Brainstorm, co-browse, debug code, or work on projects together in a shared environment.
  • Remote Support/Teaching: Provide interactive guidance in a controlled environment.
  • Embedded Browsing: Integrate a virtual browser into your web application.
  • Personal Workspace: Stream containerized apps and desktops to any device.
  • Throwaway Browser: Browse privately and securely without leaving traces on the host.
  • Jump Host: Securely access internal applications without a VPN.
  • Automated Browsing: Automate tasks with tools like Playwright or Puppeteer.

Why Self-Host Neko with Docker?

Self-hosting Neko Browser with Docker offers several advantages:

  • Isolation: Docker containers provide a sandboxed environment, isolating the browser from your host system and enhancing security.
  • Portability: You can easily move your Neko Browser instance between different machines with Docker.
  • Control: You have complete control over the browser’s configuration and data.
  • Simplified Management: Docker simplifies the installation and management of Neko Browser and its dependencies.

Setting Up Neko Browser with Docker

  1. Install Docker: If you don’t have Docker installed, follow the instructions for your operating system on the official Docker website.

  2. Find a suitable Docker image: Search Docker Hub or GitHub for “Neko Browser Docker” or similar terms. Carefully evaluate the images you find based on their popularity, maintainer reputation, and the specific version of Neko Browser they include.

  3. Pull the Docker image: Once you’ve chosen an image, pull it to your local machine:

docker pull m1k1o/neko:firefox  # Replace with the actual image details
  1. Run the Docker container: Create and run the container with appropriate port mappings and any other necessary configurations:
version: "3.4"
services:
  neko:
    image: "m1k1o/neko:firefox" #there are more! brave, chromium,...
    restart: "unless-stopped"
    shm_size: "2gb"
    ports:
      - "8888:8080"
      - "52000-52100:52000-52100/udp"
    environment:
      NEKO_SCREEN: 1920x1080@30
      NEKO_PASSWORD: neko #you will need this
      NEKO_PASSWORD_ADMIN: admin #and this
      NEKO_EPR: 52000-52100
      NEKO_ICELITE: 1
wget https://raw.githubusercontent.com/m1k1o/neko/master/docker-compose.yaml
sudo docker-compose up -d
  1. Access Neko Browser: Open your web browser and navigate to http://localhost:<host_port> (replace <host_port> with the port you used, in this example it is http://localhost:8888).

Security Considerations

  • Image Source: Only use Docker images from trusted sources. Verify the maintainer and check reviews or community feedback.
  • Updates: Keep your Docker image and Neko Browser updated with the latest security patches.
  • Network Security: If you expose your Neko Browser instance to the internet, consider using a reverse proxy and firewall to enhance security.