Installing Netrinos for Docker

The Docker image runs the Netrinos client in a container. We built it for NAS boxes and other Linux machines where installing the native package is awkward or not allowed. The image is netrinosnet/netrinos on Docker Hub, for amd64 and arm64.

It needs Docker on Linux. It does not work under Docker Desktop on Windows or macOS. If you can install the native Linux package, use that instead. It updates itself and the container does not.

Create the container

The quickest way is the compose file. Download compose.yaml into an empty folder and run:

docker compose up -d

Most NAS container apps and Portainer will also take the compose file if you paste it in.

If you prefer docker run:

docker run -d --name netrinos --network host --cap-add NET_ADMIN --device /dev/net/tun -v netrinos:/etc/netrinos --restart unless-stopped --stop-timeout 30 netrinosnet/netrinos:latest

If your container app uses a form instead, you will need host networking, the NET_ADMIN capability, the /dev/net/tun device, a volume mounted at /etc/netrinos, and the restart policy set to "unless stopped". Some apps have no fields for capabilities or devices. In that case, turn on privileged mode.

Log in

The container starts logged out. Open a console in it with docker exec -it netrinos sh, or with the console button in your container app, and run netrinos login.

If you cannot get a console, use an invitation instead. In the portal, go to Devices, click Invite a Device, and pass the code to the container in the NETRINOS_INVITE environment variable. The code works once and expires after an hour.

Run netrinos status to check that it joined. It shows your account and your other devices.

Updating

Netrinos cannot update itself inside a container. You have to pull the new image and recreate the container. netrinos status will tell you when an update is available. Your login is kept in the volume, so you do not need to log in again. With compose:

docker compose pull && docker compose up -d

Image tags

latestThe current release. Use this one.
1.3.4A specific release
betaThe next release, if you want to try it early
dailyTest builds. Do not use these in production.

Contact us if you cannot get it going and we will try to help.

Showing files in /docker

Name Size Modification Time
.. -
compose.yaml 462 B 2026-10-29 20:19:39
v1.3.4-docker-release-notes.html 9.4 KB 2026-10-29 20:19:40
v1.3.4-docker-release-notes.md 4.6 KB 2026-10-29 20:19:40