Alors si c’est dans un but uniquement de test (pas pour développer), il vaut mieux lancer une image Docker « en condition réelle » plutôt que de faire ça dans un environnement de développement (ce qui ne reflète pas vraiment la réalité et n’est pas forcément facile à mettre en place)
Pour lancer une image Docker, c’est le même process que décrit sur la page d’installation de Gladys via Docker ( Installation avec Docker | Gladys Assistant ), à savoir lancer un container Docker sur la machine ou tu veux tester Gladys (le plus proche de ce que tu as en prod, un Raspberry Pi par exemple)
La seule différence c’est qu’il faut changer le nom de l’image dans le docker run (pour lancer une image générée par un autre développeur), et mettre des volumes qui correspondent à ton environnement de test.
Disséquons la commande docker run du site:
docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:v4
Ici tu remarque qu’à la fin, on spécifie qu’on veut lancer un container à partir de l’image gladysassistant/gladys:v4
, c’est l’image « officielle » qu’on distribue
Dans le cas d’un scénario de test, par exemple dans le cas de la PR RFLink, @ProtZ a partagé une image Docker sur son compte Docker Hub perso, et l’image a comme nom ngeissel/gladys:rflinkdev
Si tu veux lancer une image de test RFLink sur ton Pi, je peux te proposer la commande suivante:
docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-test-rflink \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant_test_rflink:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
ngeissel/gladys:rflinkdev
Tu noteras plusieurs changements:
- J’ai changé le nom du container qui devient « gladys-test-rflink », pour éviter un conflit si tu as déjà un Gladys qui tourne
- J’ai changé le port sur lequel écoute Gladys pour mettre 8001, pour éviter un conflit si tu as déjà un Gladys qui tourne
- J’ai changé le volume des data Gladys (dossier dans lequel seront montés les données Gladys sur le disque), ici pour mettre « /var/lib/gladysassistant_test_rflink » (Ainsi, si tu veux clean ton pi après avoir fait tourner ce fichier, tu dois juste supprimer ce dossier)
- J’ai changé l’image pour mettre « ngeissel/gladys:rflinkdev »
Une fois que ton container tourne, tu pourras accéder à Gladys en tapant « IP_RASPBERRY_PI:8001 ».
Si tu veux stopper ce container:
docker stop gladys-test-rflink
Si tu veux supprimer ce container:
docker rm gladys-test-rflink
Si tu veux aller chercher une nouvelle version de l’image
(si le dev a avancé sur son intégration):
docker pull ngeissel/gladys:rflinkdev
A savoir qu’un container Docker est immutable: si jamais tu a pull une nouvelle image, il faut stopper le container, supprimer le container puis docker run un nouveau container
Conclusion
Voilà un exemple dans le cas du RFLink, mais tu peux changer le nom de l’image par ce que tu veux.
C’est peut-être du chinois si tu ne connais pas Docker, à mon avis ça vaut le coup de lire les bases de Docker si tu ne connais pas trop
Le Sonoff Ewelink est déjà mergé et dispo dans Gladys 4 depuis un bout de temps!