Monitor. Analyze. Alert.
A complete network performance monitoring solution with distributed agents, real-time metrics, and beautiful visualizations.

Netronome is a complete network performance monitoring solution that helps you understand and track your network's health. Whether you're monitoring your home internet connection, managing multi-site infrastructure, or tracking server performance, Netronome provides the insights you need through an intuitive web interface.
Built with Go and designed for simplicity, Netronome packages both frontend and backend into a single binary for effortless deployment. With a minimal footprint of just ~35MB RAM usage, it's perfect for resource-constrained environments. No complex setups - just download, configure, and run.
Key capabilities: Speed testing across multiple providers, continuous packet loss monitoring, distributed server monitoring via lightweight agents, and automated alerting - all with beautiful visualizations and historical tracking.
Get Netronome running in under 5 minutes:
Download prebuilt binaries from the Releases page.
# Download latest release
wget $(curl -s https://api.github.com/repos/autobrr/netronome/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
tar -C /usr/local/bin -xzf netronome*.tar.gz
# Generate default config
netronome generate-config
# Start the server
netronome serve
Open http://localhost:7575 in your browser and create your account through the registration page. For Docker users, see the Docker Installation section.
.png)
Advanced network path analysis with:



Monitor multiple servers from one dashboard:
The following tools enable specific features (automatically included in Docker):
Install on Linux:
# Debian/Ubuntu
sudo apt-get install iperf3 traceroute mtr vnstat
# RHEL/Fedora
sudo dnf install iperf3 traceroute mtr vnstat
Notes:
bash
wget $(curl -s https://api.github.com/repos/autobrr/netronome/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
tar -C /usr/local/bin -xzf netronome*.tar.gz
```bash sudo tee /etc/systemd/system/netronome@.service > /dev/null <<EOF [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 EOF ```
bash
systemctl enable --now netronome@$USERGet the latest binary from https://github.com/autobrr/netronome/releases
Unzip the release into a folder
Place any third party binaries in the same folder
Add the folder to Windows environment variables - restart explorer.exe (and any open terminals)
https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10
Run `netronome generate-config`
Edit config.toml to suit `C:\Users\{USERNAME}\.config\netronome`
Quick Docker deployment with automatic dependency installation:
# Clone the repository (for docker-compose files in distrib/docker)
git clone https://github.com/autobrr/netronome.git
cd netronome
# Basic setup with SQLite
docker-compose -f distrib/docker/docker-compose.yml up -d
# Or with PostgreSQL for better performance
docker-compose -f distrib/docker/docker-compose.postgres.yml up -d
The Docker image includes all dependencies (iperf3, librespeed-cli, traceroute, mtr, vnstat) pre-installed, so you don't need to install them separately. For Tailscale integration with Docker, see the Docker Tailscale Sidecar Guide.
bash
netronome generate-config
This creates ~/.config/netronome/config.toml with default settings.
bash
netronome serve
http://localhost:7575 and register your account through the web interface.To access from other devices on your network, change the host in config.toml from 127.0.0.1 to 0.0.0.0.
Netronome supports multiple authentication methods:
Users can register directly through the web interface on first visit. For automation or admin purposes, you can also manage users via CLI:
netronome create-user <username> # Create user via CLI
netronome change-password <username> # Change password via CLI
Configure via environment variables:
export NETRONOME__OIDC_ISSUER=https://your-provider.com
export NETRONOME__OIDC_CLIENT_ID=your-client-id
export NETRONOME__OIDC_CLIENT_SECRET=your-client-secret
export NETRONOME__OIDC_REDIRECT_URL=https://netronome.example.com/api/auth/oidc/callback
Add to config.toml:
[auth]
whitelist = ["127.0.0.1/32", "192.168.1.0/24"]
No additional setup required. Database file is created automatically.
Configure via environment variables:
export NETRONOME__DB_TYPE=postgres
export NETRONOME__DB_HOST=localhost
export NETRONOME__DB_PORT=5432
export NETRONOME__DB_USER=postgres
export NETRONOME__DB_PASSWORD=your-password
export NETRONOME__DB_NAME=netronome
To serve Netronome under a subpath (e.g., /netronome) behind nginx:
Set the base URL in your config.toml:
[server]
host = "127.0.0.1" # Listen only on localhost since nginx will proxy
port = 7575
base_url = "/netronome" # The subpath you want to use
Add this location block to your nginx configuration:
# Redirect /netronome to /netronome/
location = /netronome {
return 301 /netronome/;
}
location /netronome/ {
proxy_pass http://127.0.0.1:7575;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 86400;
}
That's it! The minimal configuration above handles WebSocket/SSE for real-time features.
Monitor your internet connection quality:
8.8.8.8 or 1.1.1.1Monitor connectivity between office locations:
Track server performance metrics:
Deploy monitoring agents on remote servers for full system visibility.
curl -sL https://netrono.me/install-agent | bash
The script provides interactive setup for:
# Basic agent
netronome agent
# With authentication
netronome agent --api-key your-secret-key
# Custom configuration
netronome agent --host 192.168.1.100 --port 8300 --interface eth0
Add to config.toml:
[agent]
host = "0.0.0.0"
port = 8200
interface = "" # Empty for all interfaces
api_key = "your-secret-key"
disk_includes = ["/mnt/storage"] # Additional mounts to monitor
disk_excludes = ["/boot", "/tmp"] # Mounts to exclude
[monitor]
enabled = true
Continuous network monitoring with MTR integration and performance tracking.
Native Tailscale support for secure mesh networking without port exposure.
# Basic Tailscale agent
netronome agent --tailscale --tailscale-auth-key tskey-auth-YOUR-KEY
# Use existing tailscaled
netronome agent --tailscale --tailscale-method host
# Custom hostname
netronome agent --tailscale --tailscale-hostname "webserver-prod"
```toml [tailsc
$ claude mcp add netronome \
-- python -m otcore.mcp_server <graph>