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
If you do not have root, or are on a shared system, place the binary somewhere in your home directory like ~/.bin
.
Configuration
- Generate a config with the following command:
netronome generate-config
- Edit the config file with the following command if needed:
nano ~/.config/netronome/config.toml
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
Systemd (recommended)
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):
[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
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
.
Reverse proxy (recommended)
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