Skip to main content

Linux

Follow instructions below for recommended setup on a regular Linux server. Additionally see our installation instructions for Docker.

Swizzin

Swizzin is a popular and easy to use installation script for Linux servers. Check out the Swizzin docs for more information about it.

sudo box install netronome

Regular installation

Download

Download the latest release, or download the source code and build it yourself using make build.

wget $(curl -s https://api.github.com/repos/autobrr/netronome/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)

Unpack

sudo tar -C /usr/local/bin -xzf netronome*.tar.gz
info

If you do not have root, or are on a shared system, place the binary somewhere in your home directory like ~/.bin.

Configuration

  1. Generate a config with the following command:
netronome generate-config
  1. Edit the config file with the following command if needed:
nano ~/.config/netronome/config.toml

config.toml

~/.config/netronome/config.toml
[database]
type = "sqlite" # sqlite, postgres
path = "netronome.db"

# PostgreSQL options (uncomment and modify if using postgres)
#host = "localhost"
#port = 5432
#user = "postgres"
#password = ""
#dbname = "netronome"
#sslmode = "disable"

[server]
host = "127.0.0.1"
port = 7575
#base_url = "/netronome/"

[logging]
level = "trace" # trace, debug, info, warn, error, fatal, panic

#[oidc]
#issuer = ""
#client_id = ""
#client_secret = ""
#redirect_url = ""

[speedtest]
timeout = 30

[speedtest.iperf]
test_duration = 10
parallel_conns = 4

# Pagination options (defaults work well for most cases)
# Only uncomment and modify if you need to adjust the API response pagination
#[pagination]
#default_page = 1
#default_page_size = 20
#max_page_size = 100
#default_time_range = "1w"
#default_limit = 20

On Linux-based systems, it is recommended to run netronome as a service with auto-restarting capabilities, in order to account for potential downtime. The most common way is to do it via systemd.

You will need to create a service file in /etc/systemd/system/ called netronome@.service. The @ is important.

touch /etc/systemd/system/netronome@.service

Then place the following content inside the file (e.g. via nano/vim/ed):

/etc/systemd/system/netronome@.service
[Unit]
Description=netronome service for %i
After=syslog.target network-online.target

[Service]
Type=simple
User=%i
Group=%i
ExecStart=/usr/local/bin/netronome serve --config=/home/%i/.config/netronome/config.toml

[Install]
WantedBy=multi-user.target

The %i will automatically be replaced with your user when you call systemctl enable with @USERNAME like below.

Start the service. Enable will make it startup on reboot. Replace USERNAME with your username.

sudo systemctl enable --now netronome@USERNAME.service

Make sure it's running and active

sudo systemctl status netronome@USERNAME.service

Listen address

info

By default netronome listens on 127.0.0.1 which is the recommended way when running a reverse proxy, but if you want to expose it to the internet/network then you must change the host in the ~/.config/netronome/config.toml from 127.0.0.1 to 0.0.0.0.

Save the changes and restart netronome with sudo systemctl restart netronome@USERNAME.service.

It's recommended to run it behind a reverse proxy like Caddy (very simple) or nginx (moderately simple) in order to get TLS, more robust authentication mechanisms and other similar benefits.

Please see the Reverse proxy section for reverse proxy configuration examples.

Finishing up

Now that netronome is up and running, you should be able to visit the your web UI at http://YOUR_IP:7575 or http://domain.ltd:7575 and proceed with your registration/login.

Version Updates

To upgrade netronome to the latest version first stop the service (if you have configured it):

sudo systemctl stop netronome@USERNAME.service

Download the latest release:

wget $(curl -s https://api.github.com/repos/autobrr/netronome/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)

And finally unpack the release:

sudo tar -C /usr/local/bin -xzf netronome*.tar.gz

This will overwrite netronome in /usr/local/bin.

Restart the service:

sudo systemctl start netronome@USERNAME.service