I was having intermittent issues with my ISP after switching and was looking for something that would let me easily trend downtimes, speed tests, and latency, but the existing projects out there (speedtest-tracker, myspeed, netcheck, etc.) lacked a few things I needed. I gradually put together my own, it's simple to install and supports Linux, macOS, Windows, and Docker.
Interactive demo with sample data: https://demo.pingularity.dev/
Install from https://pingularity.dev then open http://localhost:9000/, local network accessible, password protectable.
- Single-binary, no dependencies, self-hosted, no telemetry.
- Scheduled Ookla and iperf speed tests with a wide array of settings.
- Charts for visualizing download, upload, ping, jitter, and bufferbloat over time. Outage heatmap, live latency and DNS sampling.
- Uptime tracking with alerts and notifications. Webhooks with native ntfy and heartbeat.
- Manage retention, backups, or delete individual runs.
- Prometheus/Grafana with importable dashboard and alert rules.
- Customizable, change colours, disable stuff you don't want, remove chart tiles you don't care about.
MIT license, https://github.com/pingular/pingularity
I used Claude Code and Codex extensively throughout.