Cette application n'est plus maintenue par son développeur, retrouver une autre version de Speedtest Tracker, et son tutoriel d'installation ici : [Tuto] Installation de Speedtest Tracker en Docker
Bonjour,
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
Debug 1 : Les speedtests automatique ne fonctionne pas
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
Code:
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 : Voir la pièce jointe docker-compose speedtest-tracker.7z
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 :
Code:
cd /volume1/docker/speedtest-tracker
Ensuite, afin "d’exécuter" mon fichier docker-compose.yml, je tape en ssh :
Code:
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
Debug 1 : Les speedtests automatique ne fonctionne pas
Si vous avez cette ligne dans les logs du conteneur : "speedtest --accept-gdpr"
Alors a "l'intérieur du conteneur", il faut exécuter la commande suivante afin d'accepter les conditions :
Code:
php /config/www/artisan speedtest:eula
Soit via la console de DockerDSM sur le conteneur, ou la console de Portainer, il est aussi possible de le faire en SSH avec la commande suivante :
Code:
docker exec -it speedtest bash
2021-08-08 - Ajout de Debug 1, en cas de soucis avec les speedtest auto.
Dernière édition: