nexpulse
ghcr.io/derkezorm/nexpulse
https://github.com/DerKezorm/nexpulse/pkgs/container/nexpulse
bridge
sh
false
https://github.com/DerKezorm/nexpulse/issues
https://github.com/DerKezorm/nexpulse
https://github.com/DerKezorm/nexpulse#readme
latest
Latest stable release.
https://github.com/DerKezorm/nexpulse
nexpulse is a speed test tracker for the homelab. It measures your internet connection on a schedule, shows every test live on a gauge, keeps the history with charts and averages, and tells you over ntfy, Gotify or a webhook when the line is slower than your plan.
It measures with Cloudflare out of the box, with public or your own LibreSpeed servers, and optionally with Ookla. Schedules can run every few minutes, daily, by cron, or several times a day at random times to find the busy hours. An API with read or run keys feeds dashboards like nexdeck or Home Assistant. The interface is available in English and German.
Network:Management Tools:Utilities
http://[IP]:[PORT:8000]/
https://raw.githubusercontent.com/DerKezorm/unraid-templates/main/templates/nexpulse.xml
https://raw.githubusercontent.com/DerKezorm/unraid-templates/main/icons/nexpulse.png
2026-09-19
nexpulse is a speed test tracker for the homelab: live gauge, schedules (including several tests a day at random times), history with charts, a plan threshold, alerts over ntfy, Gotify or a webhook, and an API for dashboards.
There are no accounts and, by default, no password. Set one in the settings if nexpulse can be reached from outside your network. The API always needs a key.
Ookla is not included. If you activate it in the settings, nexpulse downloads the official Speedtest CLI from Ookla. Ookla's license does not cover running it in a container like this, so that is your decision and your risk.
All data lives under /data: the SQLite database and the key that signs sessions. Keep it on a local disk, never on an SMB or NFS share, because SQLite locking is not reliable over network filesystems.
Set PUID and PGID to the user that should own the files. 99 and 100 are the Unraid defaults and work out of the box.
bridge
[PORT:8440]
8000
tcp
/mnt/user/appdata/nexpulse
/data
rw
99PUID
100PGID
TZ
NEXPULSE_PORT
NEXPULSE_SECRET_KEY
autoNEXPULSE_COOKIE_SECURE
8440
/mnt/user/appdata/nexpulse
99
100
auto