# Speedtest Tracker — Self-Hosted Internet Speed Monitoring Dashboard > A self-hosted application that automatically runs Ookla Speedtest on a schedule and presents historical download, upload, and latency data in a visual dashboard for tracking ISP performance. ## Install Save as a script file and run: # Speedtest Tracker — Self-Hosted Internet Speed Monitoring ## Quick Use ```bash # Docker Compose services: speedtest-tracker: image: lscr.io/linuxserver/speedtest-tracker:latest ports: - 8080:80 volumes: - ./config:/config environment: - DB_CONNECTION=sqlite - APP_KEY=base64:your-generated-key restart: unless-stopped # Access at http://localhost:8080 ``` ## Introduction Speedtest Tracker is a self-hosted dashboard that runs internet speed tests on a configurable schedule and stores the results over time. It helps you monitor your ISP's actual performance against advertised speeds and identify patterns in connectivity degradation. ## What Speedtest Tracker Does - Runs Ookla Speedtest CLI on automated schedules (hourly, daily, custom cron) - Records download speed, upload speed, ping latency, and jitter over time - Displays results in charts and graphs with configurable date ranges - Sends notifications when speeds drop below configured thresholds - Exports data for external analysis or reporting ## Architecture Overview Speedtest Tracker is a Laravel PHP application with a Filament admin dashboard. It uses the official Ookla Speedtest CLI binary to perform measurements and stores results in SQLite, MySQL, or PostgreSQL. A scheduled task runner triggers tests at configured intervals, and the web interface renders historical data using chart libraries. ## Self-Hosting & Configuration - Deploy via Docker using the LinuxServer.io maintained image - Set APP_KEY environment variable (generate with `docker exec` artisan command) - Configure test frequency via the web dashboard settings panel - Supports SQLite for simple setups or MySQL/PostgreSQL for larger deployments - Place behind a reverse proxy for HTTPS; no built-in TLS support ## Key Features - Visual charts showing speed trends over days, weeks, and months - Threshold-based alerting via email, Telegram, or webhook notifications - Multiple server selection for testing against different Ookla endpoints - Data retention policies to manage database size over long periods - Multi-user support with authentication for shared homelab environments ## Comparison with Similar Tools - **LibreSpeed** — Tests speed to your own server; Speedtest Tracker measures your ISP connection via Ookla's global network - **Uptime Kuma** — Monitors service availability and response times; Speedtest Tracker specifically measures bandwidth throughput - **Netdata** — Real-time system and network monitoring; Speedtest Tracker focuses solely on periodic ISP speed measurements - **vnStat** — Tracks bandwidth usage volumes; Speedtest Tracker measures actual achievable speeds rather than consumed traffic ## FAQ **Q: Does it use the official Ookla Speedtest?** A: Yes, it uses the official Speedtest CLI binary from Ookla, producing results consistent with speedtest.net. **Q: How often should I run tests?** A: Hourly is common for most users. More frequent testing consumes bandwidth and may trigger ISP throttling on metered connections. **Q: Can I test against a specific server?** A: Yes, you can configure preferred Ookla servers by ID in the settings, or let it auto-select the nearest server. **Q: Does running speed tests affect my network?** A: Each test uses significant bandwidth for a few seconds. Schedule tests during low-usage periods if you have limited bandwidth. ## Sources - https://github.com/alexjustesen/speedtest-tracker - https://docs.speedtest-tracker.dev --- Source: https://tokrepo.com/en/workflows/asset-66d2abde Author: Script Depot