NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo,
ich bin gerade mal wieder beim Testen einer Lösung für das Problem, dass ioBroker im Container manchmal nicht sauber startet. Dazu habe ich gerade meine Container auf die letzte Version aktualisiert. Danach liefen die ioBroker-Adapter nicht mehr an!
Lediglich der ioBroker.js-controller startete.
Nach ein paar verzweifelten Versuchen habe ich herausgefunden, dass der Container offensichtlich neuerdings mit einem eigenen hostname startet. Dabei ist der hostname gleich dem Namen des Containers. Falls dies bei euch auch der Fall ist, muss einmal im Terminal des Containers per
cd /opt/iobroker iobroker stop iobroker host this (bei multihostsystemen: iobroker host [hostname der ds]) iobroker start
der hostname aktualisiert werden.
Danach sollte ioBroker wieder korrekt starten.
Ich habe aktuell noch keine Ahnung ob dieses Phänomen irgendwelche Probleme mit sich bringen kann. Bei mir laufen jedenfalls alle Adapter wieder einwandfrei. Erreichbar ist ioBroker auch weiterhin via
http://[hostname oder ip der ds]:8081
Lediglich in der Admin-oberfläche wird nicht mehr der hostname der ds, sondern der des Containers angezeigt.
Bei Neuinstallationen läuft, soweit ich das beurteilen kann, alles nach Plan. In meinem Test startete mein neuer, jungfräulicher Container anstandslos.
Ich weiß leider noch nicht woran es liegt, dass dies neuerdings so geschieht. Eventuell hängt es mit einer Aktualisierung des Docker-Pakets der DS zusammen. Falls jemand ähnliche Erfahrungen gemacht hat, würde ich mich über eine Rückmeldung freuen. Danke.
MfG,
André
-
Hallo,
ich bin gerade mal wieder beim Testen einer Lösung für das Problem, dass ioBroker im Container manchmal nicht sauber startet. Dazu habe ich gerade meine Container auf die letzte Version aktualisiert. Danach liefen die ioBroker-Adapter nicht mehr an!
Lediglich der ioBroker.js-controller startete.
Nach ein paar verzweifelten Versuchen habe ich herausgefunden, dass der Container offensichtlich neuerdings mit einem eigenen hostname startet. Dabei ist der hostname gleich dem Namen des Containers. Falls dies bei euch auch der Fall ist, muss einmal im Terminal des Containers per
cd /opt/iobroker iobroker stop iobroker host this (bei multihostsystemen: iobroker host [hostname der ds]) iobroker start
der hostname aktualisiert werden.
Danach sollte ioBroker wieder korrekt starten.
Ich habe aktuell noch keine Ahnung ob dieses Phänomen irgendwelche Probleme mit sich bringen kann. Bei mir laufen jedenfalls alle Adapter wieder einwandfrei. Erreichbar ist ioBroker auch weiterhin via
http://[hostname oder ip der ds]:8081
Lediglich in der Admin-oberfläche wird nicht mehr der hostname der ds, sondern der des Containers angezeigt.
Bei Neuinstallationen läuft, soweit ich das beurteilen kann, alles nach Plan. In meinem Test startete mein neuer, jungfräulicher Container anstandslos.
Ich weiß leider noch nicht woran es liegt, dass dies neuerdings so geschieht. Eventuell hängt es mit einer Aktualisierung des Docker-Pakets der DS zusammen. Falls jemand ähnliche Erfahrungen gemacht hat, würde ich mich über eine Rückmeldung freuen. Danke.
MfG,
André `
So, ergänzend noch ein kleines Update für alle die hin und wieder Probleme mit dem Starten von ioBroker im Container haben.
Ich habe das Startverhalten vom Container überarbeitet und hoffe nun endlich das Startproblem gelöst zu haben. Das neue Image steht zum Download bereit. Beim Aktualisieren den Hinweis aus meinem letzten Post berücksichtigen. Wie immer freue ich mich über jede Rückmeldung.
MfG,
André
Gesendet von iPad mit Tapatalk Pro
-
Hi,
habe dein neues Image gezogen und den Container gestartet (opt/iobroker Verzeichnis blieb gleich, da auf Synology). Container startet korrekt, allerdings ist es tatsächlich so, dass der Hostname jetzt = Container Name ist. In der /etc/hosts steht aber der Name meiner Synology.
Außerdem habe ich jetzt das Problem, dass der Z-Wave Adapter nicht mehr startet. Fehler: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
Das habe ich bisher über sudo ldconfig /usr/local/lib64 gelöst. sudo sagt mir aber dass es den hostname iobroker (so heisst mein Container) nicht auflösen kann…
Kann jemand helfen?
-
Hi,
habe dein neues Image gezogen und den Container gestartet (opt/iobroker Verzeichnis blieb gleich, da auf Synology). Container startet korrekt, allerdings ist es tatsächlich so, dass der Hostname jetzt = Container Name ist. In der /etc/hosts steht aber der Name meiner Synology.
Außerdem habe ich jetzt das Problem, dass der Z-Wave Adapter nicht mehr startet. Fehler: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
Das habe ich bisher über sudo ldconfig /usr/local/lib64 gelöst. sudo sagt mir aber dass es den hostname iobroker (so heisst mein Container) nicht auflösen kann…
Kann jemand helfen? `
Hallo,
danke für das Feedback. Also spontan würde ich jetzt einfach mal versuchen über die Datei etc/hosts den Namen des Containers mit 127.0.0.1 auf zu lösen…
Hast du ne Quelle zum z-wave Adapter? Also was für vorraussetzungen der braucht? Hab den nicht im Einsatz und würde sonst mal schauen dass ich seine Abhängigkeiten ggf. mit in das Image aufnehme.
MfG,
André
Gesendet von meinem Smartphone mit Tapatalk
-
GitHub: https://github.com/ioBroker/ioBroker.zwave
Aber warum steht in der hosts datei der name der synology und nicht der des containers?
-
GitHub: https://github.com/ioBroker/ioBroker.zwave
Aber warum steht in der hosts datei der name der synology und nicht der des containers? ` Warum das so ist weiß ich nicht. Aber es können dort eigentlich auch beide Namen gleich aufgelöst werden.
Übrigens brauchst du im Container eigentlich kein sudo. Du bist dort eigentlich immer root.
MfG,
André
Gesendet von meinem Smartphone mit Tapatalk
-
Ok hab den Adapter nochmal gelöscht und neu installiert. Jetzt läuft er wieder. Ärgerlich, da die ganze Konfig jetzt weg ist… :oops:
Der HomeKit Adapter hat auch nicht sauber funktioniert. Wäre super wenn du die benötigten Pakete in das Image integrieren würdest. Andernfalls wird ein Update des Container Images immer etwas kritisch oder? D.h. man sollten den Container eigentlich nach erstem Erstellen und Konfigurieren nicht mehr wegwerfen... Oder sehe ich das falsch?
-
Hallo,
versuche gerade den iobroker auf meiner DS918+ zu installieren.
Hat soweit auch alles wunderbar geklappt. Komme über :8081 auch auf den iobroker.
Nur wenn ich auf der DS918+ über den Terminal Einstellungen vornehmen möchte, kommt immer eine Fehlermeldung
bin leider kein Linux Experte, wora könnte das liegen?
Neu gestartet habe ich schon mal.
Gruß
heinzie
-
Hallo,
versuche gerade den iobroker auf meiner DS918+ zu installieren.
Hat soweit auch alles wunderbar geklappt. Komme über :8081 auch auf den iobroker.
Nur wenn ich auf der DS918+ über den Terminal Einstellungen vornehmen möchte, kommt immer eine Fehlermeldung
2017-12-07_190623.jpg
bin leider kein Linux Experte, wora könnte das liegen?
Neu gestartet habe ich schon mal.
Gruß
heinzie `
Hallo,
das liegt daran, dasss ioBroker seit der neusten Version des Containers nicht mehr als Dienst gestartet wird. Habe das geändert, weil viele Nutzer Probleme mit dem Start von ioBroker nach dem Standby oder einem Restart der DiskStation hatten…
Leider bin ich noch nicht dazu gekommen die Anleitung entsprechend anzupassen.
Um in der neuen Version ioBroker zu stoppen, bitte in der Konsole folgendes machen:
pkill io
Danach ist iobroker gestoppt und man kann ganz normal tun was man geplant hatte
Anschließend geht dann zwar zum Starten auch ein "iobroker start", ich empfehle aber (Aufgrund der Restart Problematik) folgenden Befehl:
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
Alternativ funktioniert auch ein einfacher Neustart des Containers über die Docker Oberfläche der DS.
Wichtig: Aktuell sagt der Container bei "pkill io" noch, dass er den befehl nicht kennt. Falls dem so ist muss einmal das Paket procps installiert werden:
apt-get install procps
Werde dies allerdings noch heute in das Image einbauen, sodass dieser Schritt dann zukünftig entfällt.
MfG,
André
-
Vielen Dank, habe es hinbekommen.
Gruss
heinzie
-
Ok hab den Adapter nochmal gelöscht und neu installiert. Jetzt läuft er wieder. Ärgerlich, da die ganze Konfig jetzt weg ist… :oops:
Der HomeKit Adapter hat auch nicht sauber funktioniert. Wäre super wenn du die benötigten Pakete in das Image integrieren würdest. Andernfalls wird ein Update des Container Images immer etwas kritisch oder? D.h. man sollten den Container eigentlich nach erstem Erstellen und Konfigurieren nicht mehr wegwerfen... Oder sehe ich das falsch? `
Hallo Sebastian,
ich habe mal die ganzen Voraussetzungen für den zwave mit in das Image integriert. Beim nächsten Durchlauf heute Nacht kommt das dann mit rein.
Was Homekit angeht, habe ich den Fehler gefunden. Das hatte ich bereits alles integriert, allerdings hat sich da wohl was in den Voraussetzungen geändert sodass der Daemon nicht mehr gestartet ist. Den Fix dafür baue ich heute aber nicht mehr ein. Da muss ich mir erst noch was ausdenken…
Was deine Bedenken angeht, sehe ich ein Update des Containers absolut nicht kritisch. Mache das jetzt ja schon seit einiger Zeit immer wieder und habe bisher noch keinen Adapter neu installieren bzw. konfigurieren müssen. Allerdings nutze ich auch weder homekit noch zwave... (Dafür aber derzeit 50 andere Adapter im Container)
Außerdem bleibt die eigentliche ioBroker-installation ja beim Update des Containers immer gleich. Der ioBroker-Oderner liegt ja schließlich auf der DS. Was sich ändert sind nur die Paketversionen der Umgebung für ioBroker. Prizipiell kann man diese "System-Updates" aber auch manuell über die Kommandozeile (apt-get update && apt-get upgrade) machen und so den einmal erstellten Container auch dauerhaft nutzen. Letztendlich bleibt das natürlich jedem selbst überlassen.
MfG,
André
-
Hi Andre,
wow cool vielen Dank. Habe schon angefangen ein eigenes Image zu bauen aber da warst du schneller!
Wie testest du neue Images? Habe mir überlegt parallel nen zweiten Container mit neuem Image zu starten. Ports ist dann halt bissl tricky?!
LG,
Sebastian
Gesendet von iPhone mit Tapatalk
-
Ah noch ein Input: Wäre cool wenn du deine Images im Dockerhub mit Versionen Tagst. So bekommt man immer nur „latest“ was du ja überschreibst oder?
Gesendet von iPhone mit Tapatalk
-
> ich habe mal die ganzen Voraussetzungen für den zwave mit in das Image integriert. Beim nächsten Durchlauf heute Nacht kommt das dann mit rein
Welchen Hardware Adapter verwendet ihr denn für zwave?
Könnte ich dann z.B. diesen Adapter einfach in die synology eintstecken ?
-
Ich persönlich benutze
https://www.amazon.com/Aeotec-Z-Stick-Z … B00X0AWA6E
Nicht an nem NAS aber Raspberry und esxi Host
Send from mobile device
-
Ich persönlich benutze
https://www.amazon.com/Aeotec-Z-Stick-Z … B00X0AWA6E
Nicht an nem NAS aber Raspberry und esxi Host
Send from mobile device `
Den nutze ich an der Synology… -
Hätte da mal eine Frage!
Seit längerem zeigt der ioBroker an, dass eine neuere Version bei Hosts verfügbar ist.
Habe diese auch mal aktualisiert, über Terminal. Doch danach lief der ioBroker nicht mehr.
Musste ein Backup wiederherstellen.
Muss ich dieses Hosts Update durchführen, oder reicht es wenn ich regelmässig dein buanet Image neu in den Container lade?
3298_bildschirmfoto_2017-12-09_um_15.58.31.png -
Ah noch ein Input: Wäre cool wenn du deine Images im Dockerhub mit Versionen Tagst. So bekommt man immer nur „latest“ was du ja überschreibst oder?
Gesendet von iPhone mit Tapatalk ` Hallo,
als ich angefangen habe war iobroker unter Docker ja eher eine Nische und eher für mich selbst entwickelt. Mittlerweile nutzen das ja offensichtlich doch ein paar Leute.
Habe jetzt im Hub auch eine Version 1.0.0 getaggt. Sobald ich Zeit habe werde ich die aktuelle latest version zum 1.1.0 machen und dann unverändert bestehen lassen. Dann kann man zur Not immer noch das alte Image laden.
Was das testen angeht, das mache ich in der Tat mit einem zweiten neuen Container ohne gemountets Verzeichnis und mit gemappten Ports (Beispiel 8081 > 9091).So kommen sich die Container nich in die Quere.
Wenn das klappt, dann aktualisiere ich meist meinen produktiven Container.
MfG,
André
Gesendet von meinem Smartphone mit Tapatalk
-
Hätte da mal eine Frage!
Seit längerem zeigt der ioBroker an, dass eine neuere Version bei Hosts verfügbar ist.
Habe diese auch mal aktualisiert, über Terminal. Doch danach lief der ioBroker nicht mehr.
Musste ein Backup wiederherstellen.
Muss ich dieses Hosts Update durchführen, oder reicht es wenn ich regelmässig dein buanet Image neu in den Container lade? ` Hallo Ralf,
bei einem Update des Containers aktualisierst du lediglich die Umgebung in der der ioBroker läuft. Alles was in deinem (hoffentlich gemounteten) iobroker Verzeichnis liegt bleibt davon unberührt. Und dabei ist eben auch der js-controller.
Bedeutet, wenn du den js-controller aktualisieren willst musst du das über die Kommandozeile selbst tun.
Falls du Probleme dabei hast, kannst du im Forum suchen. Es gibt massenweise Threads die sich mit dem update des js-controllers und dabei auftretenden Problemen beschäftigen. Dabei ist es in der Regel egal ob jemand Probleme auf dem Raspberry oder im Docker Container hat. Die Kommandozeile und npm sind gleich.
Bei mir hat es mit "iobroker Upgrade self" auch nicht geklappt. Wenn ich anschließend aber den install Befehl "npm install iobroker.js-con…." (habe ich gerade nicht vollständig parat) nochmal manuell ausgeführt habe hat es in der Regel geklappt...
MfG,
André
Gesendet von meinem Smartphone mit Tapatalk
-
Meinst du mit diesem Befehl?
iobroker stop
npm install iobroker.js-controller –production
iobroker start
sollte ich vorher auch upgradeself probieren, oder direkt install iobroker?