Erreur Docker avec les conteneurs Zigbee et MQTT

Hello,
J’ai un problème avec mon installation gladys,
Les services MQTT et ZIGBEE2MQTT ne fonctionne plus, je n’arrive pas à comprendre pourquoi, je n’ai rien touché de particulier, voici le message de logs, je suis preneur si vous avez des idées de manip.

Ma config actuelle utilise unraid os, ils sont passé de Docker version 20.10.24, build 297e128
à docker 23, puis en sont revenus à cause de problèmes de stabilité ou je ne sais quoi, est ce que vous pensez que ça peut être ça le problème ?

2023-08-17T23:24:37+0200 <warn> service.start.js:44 (Service.start) Unable to start service zigbee2mqtt PlatformNotCompatible [Error]: DOCKER_CONTAINER_ID_NOT_AVAILABLE
    at System.getGladysContainerId (/src/server/lib/system/system.getGladysContainerId.js:115:11)
    at System.getNetworkMode (/src/server/lib/system/system.getNetworkMode.js:16:25)
    at Zigbee2mqttManager.init (/src/server/services/zigbee2mqtt/lib/init.js:19:23)
    at Object.start (/src/server/services/zigbee2mqtt/index.js:17:5)
    at Service.start (/src/server/lib/service/service.start.js:33:7)
    at start (/src/server/api/controllers/service.controller.js:22:21)
2023-08-17T23:24:39+0200 <info> index.js:16 (Object.start) Starting MQTT service
2023-08-17T23:24:39+0200 <warn> service.start.js:44 (Service.start) Unable to start service mqtt PlatformNotCompatible [Error]: DOCKER_CONTAINER_ID_NOT_AVAILABLE
    at System.getGladysContainerId (/src/server/lib/system/system.getGladysContainerId.js:115:11)
    at System.getNetworkMode (/src/server/lib/system/system.getNetworkMode.js:16:25)
    at MqttHandler.checkDockerNetwork (/src/server/services/mqtt/lib/checkDockerNetwork.js:8:29)
    at MqttHandler.getConfiguration (/src/server/services/mqtt/lib/getConfiguration.js:24:24)
    at MqttHandler.init (/src/server/services/mqtt/lib/init.js:13:25)
    at Object.start (/src/server/services/mqtt/index.js:17:5)
    at Service.start (/src/server/lib/service/service.start.js:33:7)
    at start (/src/server/api/controllers/service.controller.js:22:21)
1 « J'aime »

Tu as essayé de simplement décocher/recocher les intégrations depuis Gladys ?
Cela a pour effet de détruire/recréer/reconfigurer les containers.


Mosquito a été mis à jour par watchtower hier…

Cette erreur intervient quand Gladys n’a aucun moyen de trouver l’id du container dans laquelle elle est ( Gladys/server/lib/system/system.getGladysContainerId.js at master · GladysAssistant/Gladys · GitHub )

On utilise 3 méthodes pour trouver l’ID du container:

  • Grâce au CID file
  • En allant chercher le fichier /proc/self/cgroup
  • En allant chercher le fichier /proc/self/mountinfo

Selon les version de Docker, une des 3 méthodes fonctionne :stuck_out_tongue:

Peut-être qu’effectivement en passant à la version de Docker récente, ça enlevé toutes ces méthodes ?

Avec quelle commande as-tu lancé Gladys ?

Merci pour votre aide,
Alors quand j’essaye de décocher et recocher cela ne donne rien du tout, j’ai même l’impression que le bouton ne fonctionne plus, (rien n’apparait dans les logs quand je clique dessus), et dans les intégrations dans les paramètres, les deux sont en erreur et ne peuvent pas être démarré

@pierre-gilles ça pourrait venir de là, ça me rappelle les adaptations qu’on avait du faire pour le faire tourner sur unraid et l’ajout d’une variable au docker : /var/run/docker.sock, voire ce thread : Gladys sur Unraid

Pourtant, je viens de vérifier et le docker.sock est toujours au même endroit :
image

@jgcb00 Tu as la commande « docker run » que tu avais faites pour lancer Gladys ?

yep :

docker run
  -d
  --name='Gladys-Assistant'
  --net='host'
  --privileged=true
  -e TZ="Europe/Paris"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="Gladys-Assistant"
  -e 'TZ'='Europe/Paris'
  -e 'SERVER_PORT'='8006'
  -e 'SQLITE_FILE_PATH'='/var/lib/gladysassistant/gladys-production.db'
  -e 'NODE_ENV'='production'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:8006]'
  -l net.unraid.docker.icon='https://gladysassistant.com/en/img/external/github-gladys-logo.png'
  -v '/mnt/user/appdata/Gladys':'/var/lib/gladysassistant':'rw'
  -v '/dev':'/dev':'rw'
  -v '/run/udev':'/run/udev':'ro'
  -v '/var/run/docker.sock':'/var/run/docker.sock':'rw'
  --restart=always
  --log-opt max-size=10m 'gladysassistant/gladys:v4'

8cc639be315af2f6a2680da6a99fb4236e73fbe97729c42bb0d0e8ff66f226e5

Ok, ça me parait normal du coup que ça marche plus, il manque :

--cgroupns=host \

Regarde la commande Docker sur la documentation :

C’est un vieux changement ça date de mars 2022 :smiley:

L’explication sur le blog :

Effectivement, cela à résolu mon problème, mais ce qui me pertube c’est que je n’en ai pas eu besoin avant, probablement que unraid n’était pas passé sur debian 11, je vais mettre à jour le template qui est sur git
Merci beaucoup @pierre-gilles

1 « J'aime »

Génial, tant mieux si ça marche :raised_hands:

5 messages ont été scindés en un nouveau sujet : Problème connexion à MQTT après mise à jour de mosquitto par watchtower

Un message a été fusionné à un sujet existant : Problème connexion à MQTT après mise à jour de mosquitto par watchtower