speedtest-tracker

v1.15.1-ls177

speedtest-tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service.

docker pull lscr.io/linuxserver/speedtest-tracker:latest

Quick start

Generated from the image's own configuration. Replace the /path/to folders with real paths on your host.

---
services:
  speedtest-tracker:
    image: lscr.io/linuxserver/speedtest-tracker:latest
    container_name: speedtest-tracker
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - APP_KEY=
      - APP_URL=
      - DB_CONNECTION=sqlite
      - SPEEDTEST_SCHEDULE=
      - SPEEDTEST_SERVERS=
      - DB_HOST= # optional
      - DB_PORT= # optional
      - DB_DATABASE= # optional
      - DB_USERNAME= # optional
      - DB_PASSWORD= # optional
      - DISPLAY_TIMEZONE=Etc/UTC # optional
      - PRUNE_RESULTS_OLDER_THAN=0 # optional
    volumes:
      - /path/to/speedtest-tracker/data:/config
    ports:
      - 80:80
    restart: unless-stopped

Parameters

Ports
PortFunctionRequired
80:80Web UIrequired
Environment variables
VariableFunctionRequired
PUID=1000User IDrequired
PGID=1000Group IDrequired
TZ=Etc/UTCTimezonerequired
APP_KEY=App key used for encrypting stored data. You can generate a key as per [https://speedtest-tracker.dev](https://docs.speedtest-tracker.dev/getting-started/installation/using-docker-compose#install-with-docker-compose)required
APP_URL=The IP:port or URL your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com`required
DB_CONNECTION=sqliteSet the database type to use. `sqlite`, `pgsql`, or `mysql`required
SPEEDTEST_SCHEDULE=Set the test schedule in cron format. e.g. `0 */6 * * *`required
SPEEDTEST_SERVERS=A comma-separated list of server IDs to test against. Run `docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/speedtest-tracker:latest list-servers` to get a list of nearby servers.required
DB_HOST=Database hostname (postgres/mysql).optional
DB_PORT=Database port (postgres/mysql).optional
DB_DATABASE=Database name (postgres/mysql).optional
DB_USERNAME=Database username (postgres/mysql).optional
DB_PASSWORD=Database password (postgres/mysql).optional
DISPLAY_TIMEZONE=Etc/UTCTimezone for the UI.optional
PRUNE_RESULTS_OLDER_THAN=0Days to keep test results.optional
Volumes
PathFunctionRequired
/configContains speedtest-tracker config and database, if using sqlite.required

Architectures

Pulling :latest picks the right one for your host automatically.

  • x86_64amd64-latest
  • arm64arm64v8-latest

Tags

  • :latestStable releases

Changelog

  1. Rebase to Alpine 3.24.

  2. Update nginx configs for v1.7.2. Existing users should update their nginx confs to avoid errors.

  3. Rebase to Alpine 3.22.

Related

Browse all

smokeping

2.9.0-r0-ls187

smokeping keeps track of your network latency. For a full example of what this application is capable of visit UCDavis.

721K pulls per month433 GitHub starsarm64

librespeed

v6.3.1-ls297

librespeed is a very lightweight Speedtest implemented in Javascript, using XMLHttpRequest and Web Workers. No Flash, No Java, No Websocket, No Bullshit.

371K pulls per month107 GitHub starsarm64

apprise-api

v2.0.1-ls266

apprise-api Takes advantage of Apprise through your network with a user-friendly API. * Send notifications to more than 100 services. * An incredibly lightweight gateway to Apprise. * A production ready micro-service at your disposal. * A Simple Website to verify and test your configuration with. Apprise API was designed to easily fit into existing (and new) eco-systems that are looking for a simple notification solution.

354K pulls per month48 GitHub starsarm64

syslog-ng

4.11.0-r0-ls212

syslog-ng allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure and store or route them to log analysis tools.

171K pulls per month86 GitHub starsarm64