ioBroker Docker Container – Steuerung per Kommandozeile
Grundsätzlich kann die ioBroker-Installation innerhalb meines Docker Containers wie in der ioBroker-Dokumentation beschrieben über die Kommandozeile bedient werden. Allerdings gilt dies nicht uneingeschränkt. Denn aufgrund von Problemen beim Autostart des ioB-Dienstes innerhalb des Containers bin ich gezwungen gewesen den ioBroker im Container per Befehl zu starten und nicht wie üblich als Dienst laufen zu lassen. Demnach funktioniert auch die Steuerung des Dienstes über iobroker start
und iobroker stop
im Container nicht. Als Alternative verwende ich im Start-Script daher folgenden Befehl:
gosu iobroker node node_modules/iobroker.js-controller/controller.js
Allerdings empfehle ich dringend statt des manuellen Starts über die Kommandozeile immer den gesamten Container einmal neu zu starten. Nur dann ist gewährleistet dass alles so läuft wie es soll. 🙂
Natürlich unterscheidet sich aufgrund der oben genannten Unterschiede auch das Beenden des ioBrokers:
pkill -u iobroker
Dieser Befehl beendet dabei schlicht alle im Container laufenden Prozesse des Users „iobroker“.
Ein js-controller Update würde also analog zur ioBroker-Dokumentation über die Kommandozeile im Container wie folgt aussehen:
pkill -u iobroker
iobroker update
iobroker upgrade self
>>> neustart des containers <<<
alternativ:
pkill -u iobroker
npm install iobroker.js-controller –-production
>>> neustart des containers <<<