đ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
- đ Speedtest Tracker
- Speedtest Tracker en selfâhosting : comment monitorer votre connexion Internet 24/7
- HA-Installer Speedtest Tracker avec Docker Compose sous Proxmox et lâintĂ©grer Ă Home Assistant
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
PUIDetPGID(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 commandeidAPP_KEY(obligatoire) : ClĂ© utilisĂ©e pour chiffrer et dĂ©chiffrer les donnĂ©es.APP_URLetASSET_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 TraefikSPEEDTEST_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)


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
Notifications
Cliquer sur âSave Changesâ
Ensuite cliquer sur âTest Appriseâ
API Token
1
2
3
4
5
6
Test
```shell
curl \
-H "Authorization: Bearer TOKEN_SPEEDTEST" \
-H "Accept: application/json" \
"https://speedtest.rnmkcy.eu/api/v1/results"
Maintenance
Notifications via apprise
Il ne faut pas ajouter des autorisations sur le site apprise.rnmkcy.eu, sinon aucune notification ne sera envoyée
Variables Environnement
- Définissez la mise en forme des horodatages dans les graphiques.Formatage: https://www.php.net/manual/en/datetime.format.php
CHART_DATETIME_FORMAT=j/m G:i(18/10 20:06) - Définissez la mise en forme des horodatages dans les tableaux et les notifications.Formatage: https://www.php.net/manual/en/datetime.format.php
DATETIME_FORMAT=j M Y, G:i:s(18 oct. 2024, 20:06:01)
La configuration ~/speedtest/docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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:pFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAy0=
- DB_CONNECTION=sqlite
- APP_TIMEZONE=Europe/Paris
- DISPLAY_TIMEZONE=Europe/Paris
- DATETIME_FORMAT='j M Y, G:i:s'
- CHART_DATETIME_FORMAT='j/m G:i'
- APP_URL=https://speedtest.rnmkcy.eu
- ASSET_URL=https://speedtest.rnmkcy.eu
- SPEEDTEST_SCHEDULE=0 */4 * * *
- SPEEDTEST_SERVERS=32565
volumes:
- ../docker-data/speedtest:/config
Recharger aprĂšs modifications
1
docker compose up -d








