top of page
90s theme grid background
Writer's pictureGunashree RS

Speedtest Tracker: Guide to Track Internet Performance

In today’s digital age, having a reliable and fast internet connection is crucial for everything from streaming and gaming to remote work and online learning. Yet, most of us don’t consistently track our internet’s performance unless we experience issues. That’s where Speedtest Tracker comes in—a self-hosted, easy-to-use application that helps you monitor and log your internet speed over time using Ookla’s Speedtest service.


If you’ve ever wondered how to track your internet speed regularly, compare performance data over time, or verify if your internet service provider (ISP) is delivering the speeds they promised, this guide is for you. Here, we’ll cover what Speedtest Tracker is, why you might want to use it, and how to install and configure it using Docker. By the end of this article, you'll be well on your way to efficiently managing your internet speed tests.


Speedtest Tracker


What Is Speedtest Tracker?

Speedtest Tracker is a self-hosted web application designed to run regular internet speed tests using Ookla’s Speedtest service. Unlike manual speed tests, which can be sporadic and inconvenient, Speedtest Tracker automates this process and provides an easy-to-understand history of your internet performance.

The primary benefit of Speedtest Tracker is that it allows users to maintain a long-term record of their internet speed, bandwidth, and latency. This can be extremely useful if you’re experiencing intermittent connectivity problems or if your ISP is not delivering the speeds you're paying for.


It runs on Docker, making it compatible with any system that supports Docker containers, such as Windows, macOS, and various Linux distributions. This versatility makes Speedtest Tracker a popular choice for tech-savvy users, network administrators, and home lab enthusiasts.


Key Features of Speedtest Tracker:

  1. Historical Performance Tracking: Logs all tests for easy comparison over time.

  2. Automated Tests: Schedule tests to run at regular intervals without manual input.

  3. Multi-Database Support: Choose between SQLite, MySQL, MariaDB, or PostgreSQL for your data storage.

  4. Customizable Settings: Tailor test frequency, retention period, and alerts to fit your needs.

  5. API Integration: Though still developing, API features like /api/speedtest/latest allow integration with dashboard applications such as Organizr.

  6. Containerized Solution: Easily deploy the application on any platform using Docker or Docker Compose.



Why Use Speedtest Tracker?

Speedtest Tracker offers numerous advantages, especially for users who need to maintain a comprehensive log of their internet performance. Here’s why you might find it invaluable:


1. ISP Accountability

One of the most common reasons to use Speedtest Tracker is to hold your ISP accountable for the internet speeds they advertise. ISPs often promote high download and upload speeds, but the reality can differ significantly, especially during peak hours. With a detailed log of your speed tests, you can present concrete data if your ISP fails to deliver the speeds you’re paying for.


2. Troubleshooting Network Issues

If your internet connection frequently drops or slows down, Speedtest Tracker can help you pinpoint whether the issue is with your ISP or your internal network. By analyzing the data trends, you can detect periods of poor performance and correlate them with factors such as network congestion, hardware issues, or ISP throttling.


3. Performance Monitoring for Home Labs

For tech enthusiasts running home labs, consistent internet speed is crucial for managing servers, streaming services, or smart home devices. Speedtest Tracker helps you monitor and ensure that your network’s performance meets the demands of your setup, especially if you're hosting services that rely on consistent bandwidth.


4. Customized Alerts and Scheduling

Speedtest Tracker allows you to set up automated tests at intervals that suit your needs—hourly, daily, or weekly. You can also configure alerts to notify you if your internet speed falls below a certain threshold, allowing for immediate troubleshooting.


5. Open-Source and Actively Maintained

Unlike other similar tools that may be abandoned or lack updates, Speedtest Tracker is actively maintained with a growing community. Regular updates introduce new features, bug fixes, and improved performance, making it a reliable choice for long-term use.



Getting Started: Installing Speedtest Tracker

Speedtest Tracker is containerized, which means you can deploy it anywhere that supports Docker. Follow the steps below for a quick installation using Docker or Docker Compose.


Step 1: Install Docker

If you don’t already have Docker installed, follow the instructions for your system:

  • Windows/Mac: Download and install Docker Desktop.

  • Linux: Install Docker via your system’s package manager. For instance, on Ubuntu, run:

bash

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Step 2: Run Speedtest Tracker with Docker

Once Docker is installed, you can quickly get Speedtest Tracker up and running with the following command:

bash

docker run -d --name speedtest-tracker --restart unless-stopped \
    -p 8080:80 \
    -e PUID=1000 \
    -e PGID=1000 \
    -e APP_KEY= \ # Generate an app key from: https://speedtest-tracker.dev/ 
    -e APP_URL=http://localhost \
    -e DB_CONNECTION=sqlite \
    -v ${PWD}:/config \
    lscr.io/linuxserver/speedtest-tracker:latest

This command pulls the latest Speedtest Tracker image, sets environment variables (such as the database and application key), and mounts the necessary volumes. You can access the application via your browser at http://localhost:8080.


Step 3: Run Speedtest Tracker with Docker Compose

For users who prefer Docker Compose, here’s a sample configuration:

yaml

services:
    speedtest-tracker:
        container_name: speedtest-tracker
        ports:
            - 8080:80
            - 8443:443
        environment:
            - PUID=1000
            - PGID=1000
            - APP_KEY= # Generate from: https://speedtest-tracker.dev/
            - APP_URL=http://localhost
            - DB_CONNECTION=sqlite
        volumes:
            - /path/to/data:/config
            - /path/to-custom-ssl-keys:/config/keys
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped

Once your docker-compose.yml file is ready, run the following command to deploy Speedtest Tracker:

bash

docker-compose up -d

Step 4: Accessing the Application

After the container is running, open your browser and navigate to http://localhost:8080 (or replace localhost with your server’s IP if hosted remotely). You will be greeted with Speedtest Tracker’s user-friendly interface, where you can start tracking your internet performance.



Speedtest Tracker: Features Breakdown


1. User Interface (UI) and Dashboard

The interface is designed with simplicity in mind. From the dashboard, you can view historical speed test results, including download and upload speeds, ping, and test dates. The data is presented in a clean, easy-to-read graph, allowing you to spot trends quickly.


2. Data Storage and Database Options

Speedtest Tracker offers flexibility in how your data is stored. You can opt for the default SQLite database for smaller setups, or switch to more robust solutions like MySQL, MariaDB, or PostgreSQL for better performance in larger environments.


3. API Integration

Although the full API is still under development, Speedtest Tracker already supports the legacy endpoint /api/speedtest/latest, which allows integration with home dashboards like Homepage or Organizr. This feature is perfect for users looking to display speed test data in real time across their network management systems.


4. Customizable Test Schedules

You can define how often speed tests are performed, whether it’s every hour, day, or week. This ensures you’re capturing internet performance during peak and off-peak hours, giving you a complete picture of your internet quality over time.



What About the Old Speedtest Tracker?

If you’ve come across https://github.com/henrywhitaker3/Speedtest-Tracker, it’s worth noting that this project has been abandoned. The newer version, discussed in this article, is actively maintained and comes with significant improvements in terms of both UI and feature set. Regular updates and an active community make the new Speedtest Tracker a more reliable solution for long-term use.




FAQs


1. What is Speedtest Tracker?

Speedtest Tracker is a self-hosted web application that uses Ookla's Speedtest service to automatically track and log internet speed over time.


2. Why should I use Speedtest Tracker?

It helps you maintain a history of your internet speed, verify your ISP's claims, and troubleshoot network issues by analyzing long-term performance trends.


3. How can I install Speedtest Tracker?

Speedtest Tracker can be installed using Docker or Docker Compose. Detailed instructions can be found in its official documentation.


4. What databases are supported by Speedtest Tracker?

It supports SQLite, MySQL, MariaDB, and PostgreSQL for storing test results.


5. Does Speedtest Tracker have an API?

Yes, a legacy API endpoint /api/speedtest/latest is available, and more robust API features are planned for future releases.


6. Is Speedtest Tracker free?

Yes, Speedtest Tracker is open-source and free to use. You can contribute to its development or request features via its GitHub page.



Conclusion

Speedtest Tracker is a powerful tool for anyone who wants to keep a consistent log of their internet performance. Whether you’re a tech enthusiast, a network administrator, or just a casual user frustrated with inconsistent internet speeds, this self-hosted application provides everything you need to monitor, analyze, and troubleshoot your connection.


By utilizing Speedtest Tracker, you can ensure that your ISP is delivering the promised speeds, detect potential network issues early, and maintain a full history of your internet performance. With easy installation via Docker and the flexibility to choose your preferred database, Speedtest Tracker is a must-have tool for maintaining top-tier network performance.



Key Takeaways:

  1. Track Internet Performance: Automate internet speed tests with historical logs.

  2. Self-Hosted Solution: Use Docker to run the application on any compatible system.

  3. Hold ISPs Accountable: Maintain a record of speed tests to compare with your ISP's promises.

  4. Customizable Settings: Schedule tests and configure alerts for performance drops.

  5. Flexible Data Storage: Choose from SQLite, MySQL, MariaDB, or PostgreSQL databases.

  6. API Support: Integrate with home dashboards for real-time monitoring.



Article Sources:


Comments


bottom of page