Back to Blog
Home Networking

From Scripts to Speedtest Tracker: Monitoring Gigabit Internet Like a Pro

5/24/2025
9 min read

If you've ever had to argue with your ISP about inconsistent speeds or random dropouts, you know exactly how hard it is to prove it-unless you're keeping your own receipts.

From Scripts to Speedtest Tracker: Monitoring Gigabit Internet Like a Pro

If you've ever had to argue with your ISP about inconsistent speeds or random dropouts, you know exactly how hard it is to prove it-unless you're keeping your own receipts.

Back in 2017, I built a Raspberry Pi project that ran a speed test every 15 minutes and blindly logged the results to Google Sheets using IFTTT. It was effective, but it required a fragile patchwork of shell scripts, webhooks, and third-party cloud services.

Fast-forward to today, and I've upgraded my entire setup to run locally in a Docker container on my Unraid server. The difference in reliability and data visualization is night and day.

Here is how my setup evolved, and how you can deploy your own automated speed logger in 10 minutes.

Then vs. Now: The Evolution

The 2017 Setup I needed a simple way to log speeds when my ISP was being unreliable. My original solution:

  • Hardware: Raspberry Pi 3B
  • Software: speedtest-cli triggered by a Cron job every 15 minutes.
  • The Glue: IFTTT Webhooks pushed the results to a Google Sheet.

It worked, but IFTTT wasn't always reliable, Google Sheets couldn't easily graph the massive dataset, and debugging a failed webhook meant manually tailing Linux logs.

The Modern Setup Today, I run the phenomenal Speedtest Tracker project (the modernized fork maintained by Alex Justesen) as a Docker container on my Unraid NAS.

  • Hardware: Unraid server
  • Software: Docker + Speedtest Tracker
  • Testing: Automated intervals stored locally in a SQLite database.
  • Interface: A beautiful Web UI with charts, historical ping/jitter tracking, and uptime scoring.

This solution is faster, significantly more reliable, and completely localized. No cloud webhooks required.

How to Set Up Speedtest Tracker on Unraid

(This assumes you already have Docker enabled in Unraid).

Step 1: Install the Container

  1. Go to the Community Applications tab in Unraid.
  2. Search for "Speedtest Tracker" (look for the Alex Justesen image).
  3. Click Install and configure your path mappings:
    • Set your AppData storage path.
    • Map your WebUI port (default is usually 80 or 8080).
    • Stick with the default SQLite database unless you already run a dedicated PostgreSQL container.

Step 2: Access the Web Interface Visit the container’s IP and port in your browser: http://<YOUR_UNRAID_IP>:8080 Create your local admin account, set your timezone, and you are immediately ready to go.

Step 3: Configure Testing and Retention Inside the dashboard settings:

  • Test Frequency: Set how often it runs (e.g., every 30 or 60 minutes).
  • Server Selection: Pin a specific local server so your latency metrics stay consistent.
  • Data Retention: Tell it to automatically prune results older than 90 days so your database doesn't bloat.

⚠️ Crucial Warning: Be Mindful of Data Caps

Each speed test transfers a massive amount of data, especially if you have a gigabit connection.

  • Download: ~50–120 MB per test
  • Upload: ~10–50 MB per test
  • Total: ~60–170 MB per test

If you configure this to test every 15 minutes, you will burn through roughly 540 GB a month. If your ISP enforces a standard 1.2TB data cap (like Xfinity often does), this single Docker container will eat half of your household's monthly data allowance just checking the speed.

Pro-Tip: If you aren't on an unlimited data plan, set the test interval to once an hour, or configure it to only test during off-peak hours!

Bonus Integrations

This setup is more than just a speed logger. I use the backend data to:

  • Trigger alerts if my download speed drops below 300 Mbps.
  • Monitor performance before and after Unraid OS updates or router firmware flashes.
  • Integrate the sensors directly into Home Assistant to trigger smart home notifications if the network goes down.

What started as a duct-taped workaround in 2017 has become a robust, hands-off piece of critical homelab infrastructure.

Have your own speed logging setup? Drop a comment or reach out-I'd love to compare notes.


Disclaimer: This post is for educational and informational purposes. I am not affiliated with Ookla, Speedtest.net, or the Speedtest Tracker project. Always monitor your automated Docker containers to ensure they do not exceed your ISP's data usage limits, as Grant Glazer assumes no liability for network overage charges.