Internetgeschwindigkeit überwachen mit Speedtest-Tracker

Ich habe einen ziemlich unzuverlässigen Internetanbieter – Vodafone. Das hat mich irgendwann so genervt, dass ich genau wissen wollte, welche Geschwindigkeit ich tatsächlich bekomme. Also habe ich angefangen, meine Verbindung regelmäßig zu testen. Dabei habe ich den Speedtest-Tracker von Alex Justesen auf GitHub entdeckt.

Dieses Tool läuft bei mir in einem Docker-Container und ist super schnell eingerichtet. Nach wenigen Minuten konnte ich damit automatisch meine Verbindung prüfen und übersichtlich auswerten. Und genau das möchte ich hier mit dir teilen!

🛠️ Setup des Docker-Containers

Der Container ist ruckzuck aufgesetzt. So sieht mein aktuelles Setup aus:

---
services:
  speedtest-tracker:
    image: linuxserver/speedtest-tracker:latest
    container_name: speedtest-tracker
    hostname: speedtest-tracker
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - APP_KEY=base64:5gExIXkD//VXbU/8wZ8xcF2uTHnvrDd6QTrTDZPWDdQ=
      - APP_URL=http://speedtest.domain.local:6875
      - DB_CONNECTION=sqlite
      - SPEEDTEST_SCHEDULE="0 * * * *"
      - SPEEDTEST_SERVERS=21987,57213
      - DISPLAY_TIMEZONE=Europe/Berlin
      - PRUNE_RESULTS_OLDER_THAN=365
    volumes:
      - ./data:/config
    ports:
      - 6875:80
    restart: unless-stopped

Ich nutze bewusst SQLite anstelle von PostgreSQL, weil mir eine einfache Datenbank vollkommen ausreicht. So spare ich mir zusätzliche Container und habe weniger Komplexität.

Wichtige Variablen erklärt

Beim Speedtest-Tracker gibt es ein paar Variablen, die besonders wichtig sind:

  • APP_URL: Die URL, unter der der Tracker erreichbar ist. Diese Adresse wird intern verwendet, damit Links, Assets und API-Aufrufe sauber funktionieren.
  • APP_KEY: Ein Schlüssel, den du für die Verschlüsselung brauchst. Ohne ihn funktioniert das Tool nicht. Er wird einmalig generiert und in der Compose-Datei hinterlegt.
  • SPEEDTEST_SCHEDULE: Damit planst du, wann Tests automatisch laufen sollen. Ich lasse meine Tests jede Stunde starten.
  • SPEEDTEST_SERVERS: Hier kannst du optional festlegen, welche Speedtest-Server verwendet werden. Praktisch, wenn du verlässliche Messpunkte hast.
    (Ein Beitrag darüber, wie man Speedtest-IDs auslesen kann, folgt in kürze.)
  • PRUNE_RESULTS_OLDER_THAN: Mit dieser Einstellung kannst du festlegen, wie lange Ergebnisse aufbewahrt werden sollen – zum Beispiel 365 Tage.

Einen Base64-Schlüssel erzeugst du übrigens ganz einfach mit folgendem Befehl:

echo -n 'base64:'; openssl rand -base64 32;

Diesen Wert kopierst du dann in deine Compose-Datei.

🔐 Erster Login und Einrichtung

Nach dem Start des Containers meldest du dich mit den Standard-Daten an:

  • Benutzer: admin@example.com
  • Passwort: password

Danach landest du auf der Startseite. Hier kannst du direkt einen Speedtest starten oder erst einmal abwarten, bis deine geplanten Tests laufen.

Sobald du ein paar Ergebnisse gesammelt hast, zeigt dir Speedtest-Tracker übersichtliche Statistiken. So kannst du auf einen Blick sehen, wie sich deine Geschwindigkeit entwickelt.

📊 Automatisierte Tests und Statistiken

Ich habe meine Tests so eingerichtet, dass sie jede Stunde laufen. Dadurch bekomme ich einen sehr guten Überblick, zu welchen Zeiten meine Leitung stark schwankt. Du kannst das Intervall frei festlegen – zum Beispiel alle 30 Minuten oder nur einmal am Tag.

Mit der Zeit entsteht so eine schöne Datenbasis. Die Statistiken helfen mir, meinem Anbieter gegenüber klar zu zeigen, wann und wo Engpässe auftreten. Das hat mir schon mehrfach geholfen, Supportfälle abzukürzen.

🔔 Benachrichtigungen einrichten

Speedtest-Tracker bietet dir die Möglichkeit, dich aktiv benachrichtigen zu lassen. Du kannst zwischen vielen Schnittstellen wählen – darunter E-Mail, Discord, Telegram, Gotify, Pushover oder Ntfy.

Ich selbst nutze Ntfy, weil ich dafür einen eigenen Server betreibe. Dort laufen alle meine Benachrichtigungen zusammen. Die Einstellungen sind simpel:

  • URL
  • Topic
  • Username (Basic-Auth)
  • Passwort (Basic-Auth)

Du entscheidest außerdem, ob du bei jedem Speedtest oder nur bei Grenzwertverletzungen benachrichtigt werden möchtest.

⚙️ Thresholds und Grenzwerte festlegen

Damit Benachrichtigungen Sinn ergeben, kannst du Grenzwerte definieren. Das funktioniert im Menüpunkt Thresholds. Ich habe mir zum Beispiel diese Limits gesetzt:

  • Download: 50 Mbps
  • Upload: 10 Mbps
  • Ping: 100 ms

Sobald meine Verbindung schlechter ist, bekomme ich automatisch eine Meldung. Das hilft mir, sofort zu sehen, ob mein Internetanbieter wieder schwächelt.

🎯 Mein Fazit

Speedtest-Tracker hat sich für mich als unverzichtbares Tool herausgestellt. Es läuft stabil, ist einfach einzurichten und liefert mir genau die Daten, die ich brauche. Mit den geplanten Tests und den Benachrichtigungen habe ich meine Verbindung ständig im Blick – ohne manuell nachmessen zu müssen.

Wenn du also auch deine Internetgeschwindigkeit im Alltag überwachen willst, ist Speedtest-Tracker eine echte Empfehlung.

👥 Techniverse Community

Lust auf Austausch rund um Matrix, Selfhosting und andere smarte IT-Lösungen?
In der Techniverse Community triffst du Gleichgesinnte, kannst Fragen stellen oder einfach nerdigen Talk genießen. 🚀

👉 Jetzt der Gruppe auf Matrix beitreten
~ Direkte Raumadresse: #community:techniverse.net

Wir freuen uns, wenn du dabei bist!

Vielen Dank fürs Teilen!