Skip to content

Run the binary

NetherNode is a single static binary with the web panel built in. Running it directly is useful when you’d rather not put the Docker socket in a container.

  1. Download nethernode-v<version>-linux-amd64.tar.gz (or arm64), such as nethernode-v0.2.9-linux-amd64.tar.gz, and SHA256SUMS from the releases page. Check the download and unpack it:

    Terminal window
    sha256sum -c --ignore-missing SHA256SUMS
    tar -xzf nethernode-*-linux-amd64.tar.gz
    sudo install -m 0755 nethernode /usr/local/bin/
  2. Create a user that may use Docker, and a data folder:

    Terminal window
    sudo useradd --system --home /var/lib/nethernode --create-home nethernode
    sudo usermod -aG docker nethernode
  3. Add /etc/systemd/system/nethernode.service:

    [Unit]
    Description=NetherNode
    After=docker.service network-online.target
    Requires=docker.service
    [Service]
    User=nethernode
    WorkingDirectory=/var/lib/nethernode
    Environment=NETHERNODE_DATA__DIR=/var/lib/nethernode/data
    ExecStart=/usr/local/bin/nethernode serve
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
  4. Start it:

    Terminal window
    sudo systemctl daemon-reload
    sudo systemctl enable --now nethernode
    journalctl -u nethernode -f

Servers run as the same user ID as NetherNode, so it can always manage their files. (If NetherNode runs as root, servers keep the Minecraft image’s own user, 1000.)

Command What it does
nethernode serve Runs the panel, API and proxy (the default)
nethernode migrate Updates the database and exits
nethernode reset-admin [--username NAME] Gives an owner a new one-time password, turns off their two-factor sign-in, and signs them out everywhere
nethernode agent --join URL --code CODE Runs as an agent for a panel on another machine (see More machines)
nethernode version Prints the version

reset-admin is the way back in if an owner loses their password, phone and recovery codes. It needs access to the machine, which is the point.