Speedtest Tracker is a self-hosted application that automatically schedules and records internet speed tests on a recurring basis. It continuously monitors download and upload speeds, ping latency, and packet loss, storing results as time-series data in a relational database. The application displays historical trends through a web dashboard and provides a read-only public URL for sharing speed test history with unauthenticated visitors. When network performance degrades, Speedtest Tracker triggers alerts based on user-defined thresholds.
Security and access control are built in: an IP address allowlist restricts incoming requests to authorized source addresses. Notifications are delivered through multiple channels—database, mail, or webhook—and automatically retry delivery up to three times if the initial attempt fails. The interface and scheduling are timezone-aware, and the dashboard supports multiple languages via community-contributed translations. Alert thresholds are fully configurable, allowing users to set limits for download speed, upload speed, and ping values.
Speedtest Tracker uses a cron-driven scheduler to invoke a CLI wrapper around the Ookla Speedtest binary, parsing its JSON output for each test run. The application is designed for containerized deployment and can be installed on various platforms using Docker or other container runtimes.