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.
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.
The 2017 Setup I needed a simple way to log speeds when my ISP was being unreliable. My original solution:
speedtest-cli triggered by a Cron job every 15 minutes.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.
This solution is faster, significantly more reliable, and completely localized. No cloud webhooks required.
(This assumes you already have Docker enabled in Unraid).
Step 1: Install the 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:
Each speed test transfers a massive amount of data, especially if you have a gigabit connection.
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!
This setup is more than just a speed logger. I use the backend data to:
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.