speedtest-tracker Documentation

Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection.

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy speedtest-tracker on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name speedtest-tracker -p 80:80 --restart always speedtest-tracker-8.4/app
Configured Services & Ports
โš™๏ธ laravel.test
image: speedtest-tracker-8.4/app
๐Ÿ”Œ Ports: ${APP_PORT:-80}:80, ${VITE_PORT:-5173}:${VITE_PORT:-5173}
โš™๏ธ pgsql
image: postgres:17-alpine
๐Ÿ”Œ Ports: ${FORWARD_DB_PORT:-5432}:5432
โš™๏ธ mailpit
image: axllent/mailpit:latest
๐Ÿ”Œ Ports: ${FORWARD_MAILPIT_PORT:-1025}:1025, ${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025
โš™๏ธ apprise
image: caronc/apprise:latest
๐Ÿ”Œ Ports: ${FORWARD_APPRISE_PORT:-8000}:8000
docker-compose.yml
yaml (docker-compose.yml)
services:
    laravel.test:
        build:
            context: ./docker/8.4
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: speedtest-tracker-8.4/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - pgsql
            - mailpit
            - apprise
    pgsql:
        image: 'postgres:17-alpine'
        ports:
            - '${FORWARD_DB_PORT:-5432}:5432'
        environment:
            PGPASSWORD: '${DB_PASSWORD:-secret}'
            POSTGRES_DB: '${DB_DATABASE}'
            POSTGRES_USER: '${DB_USERNAME}'
            POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
        volumes:
            - 'sail-pgsql:/var/lib/postgresql/data'
            - './docker/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - pg_isready
                - '-q'
                - '-d'
                - '${DB_DATABASE}'
                - '-U'
                - '${DB_USERNAME}'
            retries: 3
            timeout: 5s
    mailpit:
        image: 'axllent/mailpit:latest'
        ports:
            - '${FORWARD_MAILPIT_PORT:-1025}:1025'
            - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
        networks:
            - sail
    apprise:
        image: 'caronc/apprise:latest'
        ports:
            - '${FORWARD_APPRISE_PORT:-8000}:8000'
        volumes:
            - 'sail-apprise:/config'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - 'wget'
                - '--quiet'
                - '--tries=1'
                - '--spider'
                - 'http://localhost:8000/health'
            retries: 3
            timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sail-pgsql:
        driver: local
    sail-apprise:
        driver: local

1. Project Overview & Quickstart (alexjustesen/speedtest-tracker)

๐Ÿ‡ Speedtest Tracker

Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection.

Features

  • Automated Tests: Schedule regular speed tests to monitor your internet connection's performance over time.
  • Detailed Metrics: Capture download and upload speeds, ping, packet loss and more.
  • Historical Data: View historical data and trends to identify patterns and issues with your internet connection.
  • Notifications: Receive notifications when your internet performance drops below a certain threshold.
  • Multi-Language Support: Available in multiple languages with community translations via Crowdin.

Getting Started

Speedtest Tracker is containerized so you can run it anywhere you run your containers. The image is built by LinuxServer.io, build information can be found here.

  • Installation guide will get you up and running and includes steps for deploying the Docker image or to NAS platforms like Synology and Unraid.
  • Configurations are used to tailor Speedtest Tracker to your needs.
  • Notifications channels alert you when issues happen.
  • Frequently Asked Questions are common questions that can help you resolve issues.

Translations

Speedtest Tracker supports multiple languages thanks to our community translators!

Request a new language: Visit our Crowdin project and request a new language directly in crowdin.

Help translate: Join our Crowdin project to contribute translations in your language. All translation levels are welcome!

2. Official Technical Reference & Guides (alexjustesen/speedtest-tracker-docs)

File: README.md


Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection. Build using Laravel and Speedtest CLI from Ooklaยฎ, deployable with Docker.

Introduction

{% hint style="info" %}
Docs are up-to-date through version: v1.14.x
{% endhint %}

Why might I want this?

The main use case for Speedtest Tracker is to build a history of your internet performance and ISP's uptime so you can be informed when you're not receiving your ISP's advertised rates.

...also some of us just like a lot of data.

What about that other Speedtest Tracker?

As far as I can tell https://github.com/henrywhitaker3/Speedtest-Tracker was abandoned. This version is meant to be an actively maintained replacement with an improved UI and feature set.

Do you have a demo?

No, but DB Tech, Awesome Opens Source and Techdox over on YouTube have awesome videos showing you how to get Speedtest Tracker up and running with and a quick demo.


File: getting-started/installation/README.md

Installation

Speedtest Tracker is containerized so you can run it anywhere you run your containers. The image is built by LinuxServer.io, build information can be found here.

{% hint style="danger" %}
Only the installation methods listed below are supported. Any other installation methods, such as bare metal setups or Proxmox LXCs, are not supported by this project.
{% endhint %}

Use the install guides listed below to install Speedtest Tracker:

Docker

NAS Devices


File: other/proxies/README.md


Installation guides for when using Reverse Proxies. These configurations are provided by the community.

Proxies

text

File: settings/notifications/README.md

Notifications

{% hint style="warning" %}
Database, Mail and Webhook notifications are considered "core" channels. We're currently working on integrating Apprise and all other notification channels should be considered deprecated.
{% endhint %}


File: settings/data-platforms/README.md

Data Platforms

Speedtest Tracker supports reporting data to InfluxDB2, a time series database. Additional data platforms are planned and listed on the Features page.