NetProbe
NetProbe
Docker app from bmartino1's Repository
Overview
Netprobe 2.0 – Internet Quality Dashboard
Netprobe 2.0 is a lightweight, container-friendly network probe and web UI for home/lab internet monitoring.
It periodically:
Pings your gateway, router, and a list of “anchor” sites.
Measures packet loss, latency, and jitter.
Measures DNS lookup latency per DNS server.
Runs scheduled and manual Speedtest.net tests.
Stores everything in SQLite and renders a dark-mode dashboard with Chart.js.
The goal is a simple “drop in and forget it” quality monitor that you can run on Unraid, Proxmox, Docker, etc.
Additional variables can be found here: https://github.com/bmartino1/NetProbe_Python
Optional data:
ALL are OPTIONAL! Defaults/fallbacks to SQLite.
--cap-add=NET_RAW --cap-add=NET_ADMIN --cap-add=SYS_ADMIN
Use standalone Postgres for backend storage docker variables...(May be hidden in template)
USE_POSTGRES: ${USE_POSTGRES:-true}
DB_ENGINE: ${DB_ENGINE:-postgres}
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
POSTGRES_DB: ${POSTGRES_DB:-netprobe}
POSTGRES_USER: ${POSTGRES_USER:-netprobe}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-netprobe}
Requirements
# Optional: if ping needs extra caps in your environment
--cap-add=NET_RAW --cap-add=NET_ADMIN --cap-add=SYS_ADMIN
# Use standalone Postgres for backend storage docker variables...
USE_POSTGRES: ${USE_POSTGRES:-true}
DB_ENGINE: ${DB_ENGINE:-postgres}
# Postgres connection details (match the Postgres service above via env file...)
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
POSTGRES_DB: ${POSTGRES_DB:-netprobe}
POSTGRES_USER: ${POSTGRES_USER:-netprobe}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-netprobe}
Runtime arguments
- Web UI
http://[IP]:[PORT:8080]- Network
bridge- Shell
bash- Privileged
- false
Template configuration
- Target
- 8080
- Default
- 8080
- Value
- 8080
Container /data location for SQLite file that holds long-term data. Container path can be changed if DB_PATH variable is assigned. DB_PATH defaults to /data/netprobe.sqlite
- Target
- /data/
- Default
- /mnt/user/appdata/netprobe_database
- Value
- /mnt/user/appdata/netprobe_database
Seconds between script probe runs. (Countdown in web page.) This runs the pings, DNS lookups, and others to collect data...
- Default
- 30
- Value
- 30
ICMP packets per target per probe.
- Default
- 20
- Value
- 4
Time zone, e.g. America/Chicago
- Default
- UTC
- Value
- UTC
Comma-separated ping targets.
- Default
- fast.com,google.com,youtube.com
- Value
- fast.com,google.com,youtube.com
Optional LAN router IP. Your router/gateway IP address to help with pings. Can leave blank (to leave blank, delete this variable).
- Default
- 192.168.1.1
- Value
- 192.168.1.1
Domain for DNS latency tests.
- Default
- google.com
- Value
- google.com
Web UI display name
- Default
- My_DNS_Server
- Value
- My_DNS_Server
DNS IPs to probe. Do you run a custom DNS server? Set this to that IP.
- Default
- 192.168.1.1
- Value
- 192.168.1.1
Enable periodic speed tests at SPEEDTEST_INTERVAL in seconds.
- Default
- True
- Value
- True
14400 seconds = 4 hours. Seconds between automatic speed tests.
- Default
- 14400
- Value
- 14400
Google_DNS
- Default
- Google_DNS
- Value
- Google_DNS
Google_DNS 8.8.8.8
- Default
- 8.8.8.8
- Value
- 8.8.8.8
Quad9_DNS
- Default
- Quad9_DNS
- Value
- Quad9_DNS
Quad9_DNS 9.9.9.9
- Default
- 9.9.9.9
- Value
- 9.9.9.9
CloudFlare_DNS
- Default
- CloudFlare_DNS
- Value
- CloudFlare_DNS
CloudFlare_DNS 1.1.1.1
- Default
- 1.1.1.1
- Value
- 1.1.1.1
Requires DB_ENGINE set to postgres Use a standalone Postgres and set the required Postgres Docker variables manually.
- Default
- true
- Value
- false
Choose database backend. If using Postgres, set USE_POSTGRES to true as well.
- Default
- postgres
- Value
- sqlite
Weight of packet loss in score (0–1, sum = 1).
- Default
- -0.6
- Value
- -0.6
Weight of latency.
- Default
- 0.15
- Value
- 0.15
Weight of jitter.
- Default
- 0.2
- Value
- 0.2
Weight of DNS latency.
- Default
- 0.05
- Value
- 0.05
Loss % considered “max bad” for scoring.
- Default
- 5
- Value
- 5
Latency ms considered “max bad”.
- Default
- 100
- Value
- 100
Jitter ms considered “max bad”.
- Default
- 30
- Value
- 30
DNS ms considered “max bad”.
- Default
- 100
- Value
- 100
This sets the Python web server port. If edited, update Docker NAT ports and WebUI URL.
- Default
- 8080
- Value
- 8080
Fallback container directory for Tailscale state information - Added by Community Applications
- Target
- CA_TS_FALLBACK_DIR
- Default
- /data/
- Value
- /data/
Download Statistics
Details
bmmbmm01/netprobe:latestRun NetProbe on Unraid.
NetProbe is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.