7.6 KiB
| sidebar_position |
|---|
| 1 |
Docker Setup
Use the following docker images from Docker Hub for x86_64:
m1k1o/neko:latestorm1k1o/neko:firefox- for Firefox.m1k1o/neko:chromium- for Chromium (needs--cap-add=SYS_ADMIN, see the security implications).m1k1o/neko:google-chrome- for Google Chrome (needs--cap-add=SYS_ADMIN, see the security implications).m1k1o/neko:ungoogled-chromium- for Ungoogled Chromium (needs--cap-add=SYS_ADMIN, see the security implications) (by @whalehub).m1k1o/neko:microsoft-edge- for Microsoft Edge (needs--cap-add=SYS_ADMIN, see the security implications).m1k1o/neko:brave- for Brave Browser (needs--cap-add=SYS_ADMIN, see the security implications).m1k1o/neko:vivaldi- for Vivaldi Browser (needs--cap-add=SYS_ADMIN, see the security implications) (by @Xeddius).m1k1o/neko:operafor Opera Browser (requires extra steps to enable DRM, see instructions here. libffmpeg is already configured.) (by @prophetofxenu)m1k1o/neko:tor-browser- for Tor Browser.m1k1o/neko:remmina- for remote desktop connection (by @lowne).- Pass env var
REMMINA_URL=<proto>://[<username>[:<password>]@]server[:port](proto beingvnc,rdporspice). - Or create your custom configuration with remmina locally (it's saved in
~/.local/share/remmina/path_to_profile.remmina) and bind-mount it, then pass env varREMMINA_PROFILE=<path_to_profile.remmina>.
- Pass env var
m1k1o/neko:vlc- for VLC Video player (needs volume mounted to/mediawith local video files, or settingVLC_MEDIA=/mediapath).m1k1o/neko:xfceorm1k1o/neko:kde- for a shared desktop / installing shared software.m1k1o/neko:base- for custom base.
Dockerhub images are built using GitHub actions on every push and on weekly basis to keep all browsers up-to-date.
All images are also available on GitHub Container Registry for faster pulls:
ghcr.io/m1k1o/neko/firefox:latestghcr.io/m1k1o/neko/chromium:latestghcr.io/m1k1o/neko/google-chrome:latestghcr.io/m1k1o/neko/ungoogled-chromium:latestghcr.io/m1k1o/neko/microsoft-edge:latestghcr.io/m1k1o/neko/brave:latestghcr.io/m1k1o/neko/vivaldi:latestghcr.io/m1k1o/neko/opera:latestghcr.io/m1k1o/neko/tor-browser:latestghcr.io/m1k1o/neko/remmina:latestghcr.io/m1k1o/neko/vlc:latestghcr.io/m1k1o/neko/xfce:latestghcr.io/m1k1o/neko/kde:latest
For ARM-based images (like Raspberry Pi - with GPU hardware acceleration, Oracle Cloud ARM tier). Currently, not all images are available for ARM, because not all applications are available for ARM. Please note, that m1k1o/neko:arm-* images from dockerhub are currently not maintained and they can contain outdated software. Please use images below:
ghcr.io/m1k1o/neko/arm-firefox:latestghcr.io/m1k1o/neko/arm-chromium:latestghcr.io/m1k1o/neko/arm-ungoogled-chromium:latestghcr.io/m1k1o/neko/arm-vlc:latestghcr.io/m1k1o/neko/arm-xfce:latest
For images with VAAPI GPU hardware acceleration using intel drivers use:
ghcr.io/m1k1o/neko/intel-firefox:latestghcr.io/m1k1o/neko/intel-chromium:latestghcr.io/m1k1o/neko/intel-google-chrome:latestghcr.io/m1k1o/neko/intel-ungoogled-chromium:latestghcr.io/m1k1o/neko/intel-microsoft-edge:latestghcr.io/m1k1o/neko/intel-brave:latestghcr.io/m1k1o/neko/intel-vivaldi:latestghcr.io/m1k1o/neko/intel-opera:latestghcr.io/m1k1o/neko/intel-tor-browser:latestghcr.io/m1k1o/neko/intel-remmina:latestghcr.io/m1k1o/neko/intel-vlc:latestghcr.io/m1k1o/neko/intel-xfce:latestghcr.io/m1k1o/neko/intel-kde:latest
For images with Nvidia GPU hardware acceleration using EGL (see example below) use (please note, there is a known issue with EGL and Chromium-based browsers, see here):
ghcr.io/m1k1o/neko/nvidia-firefox:latestghcr.io/m1k1o/neko/nvidia-chromium:latestghcr.io/m1k1o/neko/nvidia-google-chrome:latestghcr.io/m1k1o/neko/nvidia-microsoft-edge:latestghcr.io/m1k1o/neko/nvidia-brave:latest
GHCR images are built using GitHub actions for every tag.
Running Neko with Docker
To start a basic Neko container, use the following command:
docker run -d --rm \
-p 8080:8080 \
-p 56000-56100:56000-56100/udp \
-e NEKO_EPR=56000-56100 \
-e NEKO_PASSWORD=neko \
-e NEKO_PASSWORD_ADMIN=admin \
-e NEKO_NAT1TO1=<your-ip> \
--shm-size=2g \
m1k1o/neko:latest
Explanation
-d- Run the container in the background.--rm- Automatically remove the container when it exits.-p 8080:8080- Map the host's port8080to the container's port8080.-p 56000-56100:56000-56100/udp- Map the host's ports56000-56100to the container's ports56000-56100using UDP.-e NEKO_EPR=56000-56100- Set the range of ports for the WebRTC connection, it must match the port range mapped above.-e NEKO_PASSWORD=nekoand-e NEKO_PASSWORD_ADMIN=admin- Set passwords for the user and admin user.-e NEKO_NAT1TO1=<your-ip>- Set the public or local IP address for the NAT1:1 connection.--shm-size=2g- Set the shared memory size to 2GB, otherwise, the browser may crash.m1k1o/neko:latest- The name of the image to run, change it to the desired image.
Now, open your browser and go to: http://localhost:8080. You should see the Neko interface.
Using Docker Compose
You can also use Docker Compose to run Neko. Create a docker-compose.yml file with the following content:
services:
neko:
image: m1k1o/neko:latest
shm_size: 2g
ports:
- "8080:8080"
- "56000-56100:56000-56100/udp"
environment:
NEKO_EPR: 56000-56100
NEKO_PASSWORD: neko
NEKO_PASSWORD_ADMIN: admin
NEKO_NAT1TO1: <your-ip>
Then, run the following command:
docker compose up -d