QNAP [Tuto] Installation de Speedtest Tracker en Docker sur un NAS QNAP ( Container Station )

EVO

Administreur
Membre du personnel
25 Novembre 2019
9 626
1 936
293
/var/run/docker.sock
Installation de Speedtest Tracker en Docker sur un NAS QNAP ( Container Station )

Speedtest Tracker, c'est quoi ?
Speedtest-Tracker est une application auto-hébergée de suivi des performances Internet qui effectue des vérifications de speedtest par rapport au service Speedtest d'Ookla.
1696096132133.jpeg
1696096140089.jpeg

Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...


Pré-requis :
- Un NAS QNAP compatible Container Station
- Accès en SSH à son NAS QNAP

Sommaire :
1/ 1/ Récupération de l'ID de votre utilisateur
2/ Créer les dossiers
3/ Création du conteneur
4/ Accès a Speedtest Tracker




1/ Récupération de l'ID de votre utilisateur
Utiliser ce tuto pour vous connecter en SSH a votre NAS QNAP : [Tuto] Se connecter à son NAS QNAP par SSH

Récupérer l'ID de votre utilisateur : [Mémo] Connaitre le PUID / PGID d'un utilisateur sur un NAS QNAP




2/ Créer les dossiers
Dans File Station, nous allons créer a l'emplacement de notre choix ( dans mon cas dans le dossier partagé "Container" du DataVol1 ), un dossier speedtest-tracker, avec dedans 2 dossiers, un dossier config, et un dossier db, comme ceci :

1696062785130.png



3/ Création du conteneur

Rendez vous dans Container Station puis dans Applications > Créer :
1696063152741.png
Dans la fenêtre "Créer une application" qui s'ouvre compléter le nom et le code YAML :

1 - Nom de l'application : Vous pouvez choisir mais attention pas d'espace / majuscule / caractères spéciaux, dans mon cas j'ai choisi simplement "speedtest-tracker"
2 - Code YAML, ici il s'agit de la configuration du conteneur. Voici le code a rentrer :


Code:
version: '3.3'
services:
    speedtest-tracker:
        container_name: speedtest-tracker
        ports:
            - 3003:80
        environment:
            - PUID=1000
            - PGID=1000
            - DB_CONNECTION=mysql
            - DB_HOST=db
            - DB_PORT=3306
            - DB_DATABASE=speedtest_tracker
            - DB_USERNAME=speedy
            - DB_PASSWORD=ABCDEF
            - TZ=Europe/Paris
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - /share/Container/speedtest-tracker/config:/config
        image: ghcr.io/alexjustesen/speedtest-tracker:latest
        restart: unless-stopped
        depends_on:
            - db
    db:
        image: linuxserver/mariadb
        container_name: speedtest-tracker_mariadb
        environment:
          - PUID=1000
          - PGID=1000
          - MYSQL_ROOT_PASSWORD=123456789
          - TZ=Europe/Paris
          - MYSQL_DATABASE=speedtest_tracker
          - MYSQL_USER=speedy
          - MYSQL_PASSWORD=ABCDEF
        volumes:
          - /share/Container/speedtest-tracker/db:/config
        restart: unless-stopped

Attention, dans ce code, il y a 6 champs à personnaliser :
- "/share/Container/speedtest-tracker/config:/config", dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire config créer au point 2

- "/share/Container/speedtest-tracker/db:/config", dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire trash créer au point 2

- PUID=1000, ici remplacer 1000 pour le PUID trouvé au point 1 ( attention, il est a remplacer a deux endroit dans le code YAML )

- PGID=1000, ici remplacer 1000 par le GUID trouvé au point 1 ( attention, il est a remplacer a deux endroit dans le code YAML )

- MYSQL_ROOT_PASSWORD=123456789, vous devez ici personnaliser 123456789 par un mot de passe fort aléatoire, exemple : VebXFmR9Sg9zU4ReN3hELo2iiPZGvWc2

- DB_PASSWORD=ABCDEF, vous devez ici personnaliser ABCDEF par un mot de passe, exemple : uWY2FJ6ahUBHHgLa, attention, il sera aussi le mot de passe pour la ligne MYSQL_PASSWORD=ABCDEF, vous devez donc remplacer ABCDEF sur les deux lignes par le mot de passe choisi.

Exemple :
1696063232426.png

Note : Le conteneur utilise le port 3003, si ce port n'est pas disponible, vous pouvez le modifier par autre chose dans le code YAML.
Dans ce cas, modifier la 1ere valeur de la ligne 12 : - 3003:80, par exemple, pour utiliser le port 3004, la ligne doit être - 3004:80.


Validez la création du conteneur avec le bouton "Créer".

Le conteneur est alors en cours de création :
1696063301527.png

Une fois créé, il apparait dans le liste des applications, avec un point vert :

1696063355487.png



2/ Accès à Speedtest-Tracker

Maintenant que notre conteneur est créé. Il nous suffit de taper son adresse dans notre navigateur pour y accéder.

L'adresse sera sous la forme http://<IP_NAS>:3003, exemple si l'ip de votre NAS est 192.168.1.20, alors l'adresse sera http://192.168.1.20:3003.

1696064095533.png

Note : Si dans le point 1 vous avez personnalisé le port 3003 par autre chose, il faudra alors aussi modifier le port dans l'adresse d'accès.


Renseigner maintenant le mail admin@example.com et le mot de passe password pour vous connecter. Vous pouvez les modifier par la suite dans l'espace d'administration.
 
Dernière édition:
Salut et merci pour ce tuto.
Malheureusement, ça ne fonctionne pas pour un TS-231P2
Erreur à l'install "no matching manifest for linux/arm/..."
J'ai essayé aussi ce tuto sans succès.
 
Merci pour ta réponse rapide.
J'ai réussi à puller une image depuis l'url du script yaml => ghcr.io/alexjustesen/speedtest-tracker:latest
Elle est dispo dans les containers ce qui me fait penser qu'il a réussi à trouver quelque chose de compatible mais je me trompe peut être.
QNAP.png
 
Merci pour ta réponse rapide.
J'ai réussi à puller une image depuis l'url du script yaml => ghcr.io/alexjustesen/speedtest-tracker:latest
Elle est dispo dans les containers ce qui me fait penser qu'il a réussi à trouver quelque chose de compatible mais je me trompe peut être.
Voir la pièce jointe 14521
Il faut que je mette a jour ce tuto, c'est l'image linuxserver qu'il faut utiliser .

Dans toutvles cas je te confirme que c'est incompatible avec le CPU de ton nas https://docs.linuxserver.io/images/docker-speedtest-tracker/#supported-architectures même si la récupération d'image est possible, elle ne seront pas exploitables
 
Ok, merci bien pour ta réponse.
Je suppose qu'il n'y aura pas beaucoup d'images compatibles quelque soit l'application conteneurisée pour mon architecture ?
 
Dernière édition: