Post

🐇Speedtest Tracker

🐇Speedtest Tracker

Analyser les performances de votre fournisseur d’accès Internet avec Speedtest Tracker. Vous pouvez surveiller automatiquement la vitesse de votre connexion et conserver un historique détaillé de vos tests.

🐇Speedtest Tracker

Liens

Installation via Docker compose

Créer le dossier

1
2
3
4
mkdir -p $HOME/speedtest
# data
mkdir -p $HOME/docker-data/speedtest
cd $HOME/speedtest

Une clé d’application (APP_KEY) est utilisée pour le chiffrement. Il s’agit d’une chaîne codée en base64 qui est utilisée par Speedtest Tracker pour chiffrer et déchiffrer des données, telles que les sessions utilisateur et d’autres informations sensibles, et qui est requise dans le cadre du processus de configuration.

Pour générer cette clé vous pouvez utiliser la commande suivante sous Linux :

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

Créer le fichier docker-compose

1
nano docker-compose.yml

Le fichier docker compose avec sqlite

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
services:
    speedtest-tracker:
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped
        container_name: speedtest-tracker
        ports:
            - 8080:80
            - 8443:443
        environment:
            - PUID=1000
            - PGID=1000
            - APP_KEY=base64:pFJfztp..............Ay0=
            - DB_CONNECTION=sqlite
            - APP_TIMEZONE=Europe/Paris
            - APP_URL=https://speedtest.rnmkcy.eu
            - ASSET_URL=https://speedtest.rnmkcy.eu
            - SPEEDTEST_SCHEDULE=0 5,19 * * *
            - SPEEDTEST_SERVERS=32565
        volumes:
            - ../docker-data/speedtest:/config
  • PUID et PGID (obligatoire) : vous devez mettre ici la valeur qui correspond à votre ID utilisateur que vous utiliser sur votre serveur. Pour trouver l’id sous Linux d’un utilisateur il suffit d’utiliser la commande id
  • APP_KEY (obligatoire) : Clé utilisée pour chiffrer et déchiffrer les données.
  • APP_URL et ASSET_URL: la première sert pour pour les URL utilisée pour les liens dans les e-mails et les notifications et la deuxième pour les ressources, nécessaire lors de l’utilisation d’un proxy inverse comme Traefik
  • SPEEDTEST_SCHEDULE: Utiliser cette variable pour programmer des tests automatique, sinon il faudra déclencher manuellement un test de débit. Inventaire complet de toutes les variables d’environnement permettant de configurer Speedtest Tracker (https://docs.speedtest-tracker.dev/getting-started/environment-variables).
  • SPEEDTEST_SERVERS: Liste séparée par des virgules des identifiants de serveurs à utiliser de manière aléatoire pour le test de vitesse. Le but du jeu est d’utiliser toujours le même serveur au plus proche de chez vous. Lorsque vous allez créer votre premier test, vous aurez une liste avec la localisation des serveurs, sinon vous pouvez utiliser une commande à l’intérieur du container pour afficher les serveurs disponibles. Biensûr vous pouvez utiliser plusieurs serveurs sur cette ligne ou cas où un serait indisponible.

Lancer la construction

1
docker compose up -d

Vérifier la configuration parès construction

1
docker logs speedtest-tracker

Paramétrage

Première connexion

Ouvrir le lien http://192.168.0.22:8080

Identifiants : admin@example.com
Password: password (à changer)

Utilisateur

C’est la première tâche à réaliser pour sécuriser votre installation. Cliquer sur Users -> New user

⚠️N’oublier pas d’affecter le Rôle Admin à votre utilisateur puis vous déconnecter/reconnectez avec votre identifiant et modifier l’identifiant Admin.

Debian 13 - Proxy nginx

Créer une configuration nginx sur le serveur debian 13 cwwk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
   listen 80;
   server_name speedtest.rnmkcy.eu;
   return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name speedtest.rnmkcy.eu;

    include /etc/nginx/conf.d/ssl-modern.inc;

        add_header Strict-Transport-Security "max-age=31536000;includeSubdomains";

        location / {
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;

                proxy_pass http://192.168.0.222:8080;
        }
}

Lien https://speedtest.rnmkcy.eu

Lancer son premier test de vitesse

Avant de définir les thresholds, vous devez effectuer un premier test de débit qui va servir de référence.

Cliquer sur le bouton Speedtest -> (sélectionner le serveur le plus proche de chez vous) -> Start

Pour connaitre les résultats ou le statut du test, vous pouvez consulter l’onglet Results

Pour une vue plus graphique et complète cliquer sur Dashboard -> Metrics (en haut à droite)

Notification du test

Thresholds

Si l’une des 3 conditions suivantes est atteinte, une alerte est envoyée.

  • download est inférieur à 900
  • Upload inférieur à 800
  • Ping est supérieur à 10 ms
Cet article est sous licence CC BY 4.0 par l'auteur.