Installation Deconz Local impossible sous Docker/Synology : not been booted with systemd as init system (PID 1)

Bonjour,

suite à d’autres investigations surun problème que j’avais présenté dans une autre rubrique (DIY); je reprends le sujet dans cette rubrique plus adaptée.

En effet, j’utilise un Docker Jeedom (dernière version) sur un Synology (DS918+) et souhaiterais y ajouter une clé Combee2 (flashée 26490700) avec deConz. Tout fonctionne très bien lorsque j’installe la clé sur une autre machine; mais l’installation Locale de deConz semble impossible sous docker.

En effet le script d’installation locale utilise des commandes systemd ( sudo systemctl stop deconz-gui
et sudo systemctl stop deconz) qui aboutissent toutes deux à une erreur :

System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

A priori cela s’expliquerait (d’après mes lectures du week end) à ce qu’en lançant le Docker, le PID 1 est associé à /bin/bash , et pas systemd. Ceci semble habituel pour les Docker.

Je pense que cette mauvaise installation conduit à ce que la clé Conbee soit assimilée comme ‹ not connected › (en face du firmware) lorsque je regarde les propriétés de la gateway depuis phoscon (en local host).

Il semblerait que pour contourner ce problème, il faudrait éviter d’utiliser les commandes Systemd (à priori non recommandées sous Docker) et lancer le service deConz d’une autre méthode.

Est-ce que cela dit quelque chose à quelqu’un? Comment peut-on contourner ce problème?

Merci d’avance de votre aide,

Bonjour,

suite à des lectures du week-end, je crois comprendre que le problème vient essentiellement de l’impossibilité d’utiliser des commandes systemd pour lancer le service Conz sur une installation docker puisque le PID 1 est pris par le lancement /bin/bash, et pas systemd.
Le problème semblant concerner davantage le code d’installation du plugin, je déplace ma question dans la rubrique plugin : ici

Question con ! je suis une bouse avec docker.

Il y a pas moyen de mettre deconz sur un conteneur, jeedom sur un autre, et utiliser la config comme si phoscon etait sur une machine distante ?

Bonsoir Hugo,
Loin d’être idioit, j’y ai également pensé comme une alternative possible, d’autant qu’il existe même une image pour cela. Mais, quel intérêt de faire tourner (et maintenir) un conteneur supplémentaire pour deux lignes d’un script qui ne passent pas? D’autant que le plugin deConz propose superbement l’installation locale et que l’on affiche le support des installations Docker sur la market pour ce plugin officiel… Non, je garde l’espoir qu’un @Loic puisse se pencher sur ce point avant de démultiplier les box pour la gestion de lampes Ikea :wink:
Merci tout de même :wink:

Bonjour,
Malheureusement et comme dit sur le site de doc il n’y a pas de support pour jeedom sous docker, on y travails mais c’est lourd et très consommateur de temps. Je ne peux donc pas pour le moment faire de correction de toute facon en docker la bonne pratique et de faire tourner deconz sur un autre conteneur.

Merci @Loic, de cette réponse que je comprends même si je la regrète bien :wink:
Cela appelle tout de même une question bête : Pourquoi le plugin est indiqué comme supporté sous Docker si Jeedom n’est pas supporté sous Docker? Peut-on faire tourner juste un plugin sous docker et Jeedom ailleurs?
En tout cas dommage…mais merci :wink:

Le plugin en lui meme tourne sur docker et peux se connecter a un deconz distant ou sur un autre docker sans soucis

Merci Loic
En attendant qu’il soit possible d’utiliser le plugin en installation locale sous docker; je me suis donc résigné à lancer une installation d’un nouveau conteneur pour faire tourner la passerelle Phoscon directement sur le Synology qui fait tourner mon instance Jeedom (avec RFXCom et BLEA).

Pour se faire j’ai simplement repris l’image marthoc/deconz.

Pour ceux que cela pourrait interesser :

Créer un répertoire sur le NAS (j’ai fait Docker\Deconz)
Ouvrir une session SSH (je l’ai fait en tant qu’admin )
Puis lancer la commande :
docker run -d
–name=deconz
–net=host
–restart=always
-v /etc/localtime:/etc/localtime:ro
-v /Docker/Deconz/.local/share/dresden-elektronik/deCONZ
–device=/dev/ttyACM0
marthoc/deconz

Puis dans les variables environnement adapter les ports notamment -e DECONZ_WEB_PORT que j’ai mis en 7080 chez moi, puisque Jeedom écoute sur le port 9080.

La passerelle Phoscon est ensuite accessible depuis l’adresse IP:7080
et de là la configuration comme décrite par ailleurs.

Après récupération de la clé API, tout fonctionne ensuite très bien et Jeedom communique avec la passerelle et y récupère les éléments connectés sans aucun problème.

Pour l’instant en cas :wink:

En faite en docker ca devrait etre comme ca pour tous les plugins ayant un demon