Un nouveau petit tuto pour vous faire découvrir Speedtest tracker en Docker sur votre NAS Synology.
Ce programme exécute un contrôle de vitesse toutes les heures et trace les résultats.
Le back-end est écrit en Laravel et le front-end utilise React.
Il utilise le package cli speedtest d'Ookla pour obtenir les données et utilise Chart.js pour tracer les résultats.
Une démo est disponible ici.
Avertissement: Vous devrez accepter le CLUF d'Ookla et les accords de confidentialité pour utiliser ce conteneur.
Exemple :

Pré-Requis :
Avoir un NAS Synology compatible avec Docker.
[Tuto] Connaitre le PUID / PGID d'un utilisateur.
Sommaire :
1/ Création du dossier d'installation
2/ Récupération du PUID / PGID
3/ Installation via Docker-compose
4/ Accès à l'interface et quelques réglages
5/ Réglage des intervalles de test
1/ Création du dossier d'installation
Speedtest-Tracker à besoin d'un dossier sur le NAS, ou il va pouvoir s'installer, enregistrer sa database, ...
Dans mon cas, j'ai choisi de le mettre dans un dossier partagé "docker" qui est sur le volume1 de mon NAS, j'y est donc créé un dossier "speedtest-tracker" et dans ce dossier un dossier "config".
Le chemin d’accès a ces dossiers, pour ce tuto, sera donc /volume1/docker/speedtest-tracker/config, il sera à modifier suivant vos choix.
2/ Récupération du PUID / PGID
Il va falloir associer notre conteneur à l'utilisateur du NAS, pour cela il faut connaitre le PUID et le PGID de cette utilisateur, pour cela, je vous laisse utiliser ce tuto : [Tuto] Connaitre le PUID / PGID d'un utilisateur.
On notera le PUID/PGID de l'utilisateur choisi, on va en avoir besoin juste après !
Installation via Docker-compose
Nous allons maintenant créer un fichier "docker-compose.yml" avec les paramètres du conteneur.
Celui-ci est a placer dans /volume1/docker/speedtest-tracker
version: '3.3'
services:
speedtest:
container_name: speedtest
image: henrywhitaker3/speedtest-tracker
ports:
- 8765:80
volumes:
- /volume1/docker/speedtest-tracker/config:/config
environment:
- TZ=Europe/Paris
- PGID=100
- PUID=1000
- OOKLA_EULA_GDPR=true
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "200k"
restart: unless-stopped
Au besoin, le compose est aussi téléchargeable ici :
Dans le compose, certains paramètres sont a modifier suivant votre configuration :
/volume1/docker/speedtest-tracker/config par le chemin vers votre dossier /speedtest-tracker/config.
PGID, Group id**( dans mon exemple c'est 100 )
PUID, User id** ( dans mon exemple c'est 1000 )
** Point 2/ du tuto
Une fois placer ce fichier docker-compose.yml dans votre dossier /volume1/docker/speedtest-tracker
En SSH, rendez-vous dans le dossier en question :
cd /volume1/docker/speedtest-tracker
Ensuite, afin "d’exécuter" mon fichier docker-compose.yml, je tape en ssh :
sudo docker-compose up -d
La création du conteneur se fait, il devient visible dans l'appli "Docker" de DSM.
4/ Accès à l'interface et quelques réglages
Dans votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8765 pour se connecter a l'interface Web de Speedtest-Tracker.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8765
Bien sur, si le pare-feu de votre NAS est actif, ce port devra être autorisé dans celui-ci !
Ps : Par défaut, le speedtest s’exécute toutes les heures "pile".
5/ Réglage des intervalles de test
Dans General settings, il est possible, entre autre, de modifier les intervalles de test :
Sur le screen ci -dessus, on peu voir "Schedule" : 0 * * * *
Qui signifie "Tous les mois, tous les jours, toutes les heures piles", c'est la valeur par defaut ! A chaque heure pile, il fait un test.
On peu par exemple, fait le test 2 fois, par heure, a l'heure pile et a la demi-heure comme ceci : 0,30 * * * *
Comme sugéré par speedtest-tracker, a cette adresse vous trouverez une aide pour Cron : https://crontab.guru
Raspberry : Docker + Portainer - Nextcloud - AdGuard Home - SmokePing
Debian 10 : Docker + Portainer - Nextcloud - Plex + Tautulli