NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Knorki sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Hallo,
ich habe das gleiche Problem wie u.A. Homer J: das iobroker über iobroker_startup.sh nicht startet. Ich muss iobroker in der Konsole starten z.B. mit iobroker start.
Der Befehl aus dem script "sudo -u iobroker node node_modules/iobroker.js-controller/controller.js > /opt/scripts/iobroker.log 2>&1 &" in der Konsole eingegeben startet iobroker ebenfalls nicht und gibt auch keine Fehlermeldung.
Aber: Der Befehl "node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &" aus der alten Anleitung V2.0 startet iobroker. Wenn ich das startup script entsprechend ändere, kann ich den Container auch beenden und neu starten.
Sieht so aus, als wenn ich nach jedem update das script ändern muss
Gruß
StefanJa, kann man sicher so machen, aber dann läuft der ioBroker eben weiter unter root... und genau das sollte im Image v3 ja eigentlich nicht mehr der Fall sein
Wofür steht "sudo -u iobroker" eigentlich?
Stefan -
Zigbee läuft jetzt auch!
ttyACM0 hatte falsche Rechte
root@iobroker:/dev# ls -al ttyACM0 crw------- 1 root root 166, 0 Mai 16 21:48 ttyACM0 root@iobroker:/dev# chown -R iobroker:iobroker /dev root@iobroker:/dev# ls -al ttyACM0 crw------- 1 iobroker iobroker 166, 0 Mai 16 21:48 ttyACM0 root@iobroker:/dev#
-
@Knorki sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Knorki sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Hallo,
ich habe das gleiche Problem wie u.A. Homer J: das iobroker über iobroker_startup.sh nicht startet. Ich muss iobroker in der Konsole starten z.B. mit iobroker start.
Der Befehl aus dem script "sudo -u iobroker node node_modules/iobroker.js-controller/controller.js > /opt/scripts/iobroker.log 2>&1 &" in der Konsole eingegeben startet iobroker ebenfalls nicht und gibt auch keine Fehlermeldung.
Aber: Der Befehl "node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &" aus der alten Anleitung V2.0 startet iobroker. Wenn ich das startup script entsprechend ändere, kann ich den Container auch beenden und neu starten.
Sieht so aus, als wenn ich nach jedem update das script ändern muss
Gruß
StefanJa, kann man sicher so machen, aber dann läuft der ioBroker eben weiter unter root... und genau das sollte im Image v3 ja eigentlich nicht mehr der Fall sein
Wofür steht "sudo -u iobroker" eigentlich?
StefanDamit wird ioBroker als unter dem Benutzer "iobroker" und nicht unter dem Benutzer "root" ausgeführt... Kann man auch in den Prozessen des Containers sehen. ioBroker und seine Adapter sollten eine andere UID haben...
-
Hallo,
möchte auf die Version 3 umstellen und habe mir gestern schon mal den Portainer installiert. Nun frage ich mich aber, welche Netwerkadresse meiner DiskStation ich für die physikalische Netzwerkkarte von MACVLAN verwenden soll.
Die 192.168.0.10 von eth0 (das ist die reale IP-Adresse meiner DiskStation) oder die 169.254.71.16 von eth1?
Ich möchte lieber auf den Bridge-Modus verzichten.
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
möchte auf die Version 3 umstellen und habe mir gestern schon mal den Portainer installiert. Nun frage ich mich aber, welche Netwerkadresse meiner DiskStation ich für die physikalische Netzwerkkarte von MACVLAN verwenden soll.
eth0 ist bei dir richtig!
-
Alles klar. Vielen Dank. Dann versuch ich's mal damit.
-
Ich würde auch gerne auf die V3 wechseln aber ich bin noch bei einer Version mit node6.
Portainer kann ich doch auf jeden Fall schon mal installieren oder? Denn damit kann ich ja meine jetztige Version nicht zerschießen oder?
Danach müsste ich ja erstmal meine bestehende Updaten auf die letzte V2 oder? Wie sollte ich dort am sinnvollsten vorgehen? Bzw was muss ich noch sichern um im Fall der Fälle wieder auf meine lauffähige Version zu wechseln? Wöchentlich läuft bei mir ein Sicherungsscript vom ioBroker Verzeichnis. Kann ich auch irgendwie den bestehenden Container und das ausgelagerte Verzeichnis „docker/ioBroker-Daten“ in einen rutsch sichern?
Wenn ich portainer am laufen hätte könnte ich doch auch mit macvlan ein zweites ioBroker installieren mit sep. IP könnte ich dann wirklich parallel zwei ioBroker am laufen haben wobei eins nur ein Test System ist?
-
hmm nu wollte ich FHEM verküpfen. Aber der trick mit beides bridged .. oder da fhem sein eiegnes Docker Netzt hat den IO dort auch hinzufügen funktioniert nicht.
Egal mit welcher IPobroker 2019-05-18 11:17:26.363 error instance system.adapter.fhem.0 terminated with code 0 (OK) host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: port: 7072 } host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: address: '172.18.0.6', host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: syscall: 'connect', host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: code: 'ECONNREFUSED', host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: errno: 'ECONNREFUSED', host.iobroker 2019-05-18 11:17:26.363 error Caught by controller[0]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14) host.iobroker 2019-05-18 11:17:26.362 error Caught by controller[0]: { Error: connect ECONNREFUSED 172.18.0.6:7072
Wenn ich unter iobroker ssh ping -t 4 172.18.0.6 mache klappt das .. also verbindung geht .. Liegt es am Port ??? Docker FHEM hat : 0.0.0.0:7072 7072/tcp
Hat hier jemand eine andere Lösung ?
ACHSO UND AUFPASSEN..
Docker reboot / Synology Reboot = NEUE IPS .. Docker verteilt immer wieder neue IPs kann man sicher noch wo festlegen ? -
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
ACHSO UND AUFPASSEN..
Docker reboot / Synology Reboot = NEUE IPS .. Docker verteilt immer wieder neue IPs kann man sicher noch wo festlegen ?Das wäre mir neu!
Hab immer die eingestellte IP.
Ändert sich nie. Egal ob DS, Docker oder sonst was neu bootet. -
@ChrisXY
Wenn du FHEM und Iobroker in ein eigenes Bridge-Netz hängst, dann kannst du auch einfach den Container-Namen statt der IP-Adresse benutzen, dann ist es ja egal ob die IP-Adressen sich ändern.
Ich frage mich ehrlich gesagt, was die Entwickler sich dabei gedacht haben, dass das Standardnetzwerk keine DNS-Funktion hat...Da du ja dennoch die richtige IP-Adresse verwendest vermute ich, dass dein FHEM falsch konfiguriert ist.
Standardmäßig kann nur Localhost auf diesen zugreifen. Was fehlt ist der Zusatz "global".Also entweder den Alten Telnet-Port löschen und mit
define telnetPort telnet 7072 global
neu erstellen oder einfach einen anderen, zweiten Port nur für iobroker nutzen.
-
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
define telnetPort telnet 7072 global
okay danke das GLOBAL fehlte wohl hatte so ein docker fhem .. nu läuft es. Hab den Container Namen genommen.
Leider geht nur IP bei Diskstation Reserve Proxy Wenn ich den Hostename eintrage sagt er nicht erreichbar ... Und da hab ich es auch das wenn ich es neu Starte eine neue IP bekomme .. dann muss ich den Reserve Proxy anpassen .. oh mannnn -
@cash sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich würde auch gerne auf die V3 wechseln aber ich bin noch bei einer Version mit node6.
Portainer kann ich doch auf jeden Fall schon mal installieren oder? Denn damit kann ich ja meine jetztige Version nicht zerschießen oder?
Ja, Portainer ist davon absolut unabhängig.
Danach müsste ich ja erstmal meine bestehende Updaten auf die letzte V2 oder? Wie sollte ich dort am sinnvollsten vorgehen? Bzw was muss ich noch sichern um im Fall der Fälle wieder auf meine lauffähige Version zu wechseln? Wöchentlich läuft bei mir ein Sicherungsscript vom ioBroker Verzeichnis. Kann ich auch irgendwie den bestehenden Container und das ausgelagerte Verzeichnis „docker/ioBroker-Daten“ in einen rutsch sichern?
Lass alles so wie es ist. Stoppe den aktuellen Container und dupliziere über deine DS den Ordner mit den ioBroker-Daten. Dann erstelle einen neuen Container aus dem V2 Image und nutze als Verzeichnis den Duplikat des ioB-Ordners.
Dann im Container (ioBroker wird wohl nicht starten) reinstall.sh ausführen (Weitere Infos dazu auch in der iobroker Doku)... Wenn das geklappt hat und ioB läuft kannst du weiter machen...Wenn ich portainer am laufen hätte könnte ich doch auch mit macvlan ein zweites ioBroker installieren mit sep. IP könnte ich dann wirklich parallel zwei ioBroker am laufen haben wobei eins nur ein Test System ist?
Ja, das kannst du machen. Kann dann parallel laufen.
Du kannst auch in V3 neu starten und die Adapter von der alten Stück für Stück rüber ziehen. Also Adapter neu installieren und die Config per copy-paste übernehmen. Für Adapter wie vis, history oder javascript könntest du die relevanten Daten einfach rüber kopieren... Je nach Größe deiner Installation ist das zwar ein bisschen Aufwand, dafür wäre dein System dann sauber.... Ich würde es so machen...MfG,
André -
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
define telnetPort telnet 7072 global
okay danke das GLOBAL fehlte wohl hatte so ein docker fhem .. nu läuft es. Hab den Container Namen genommen.
Leider geht nur IP bei Diskstation Reserve Proxy Wenn ich den Hostename eintrage sagt er nicht erreichbar ... Und da hab ich es auch das wenn ich es neu Starte eine neue IP bekomme .. dann muss ich den Reserve Proxy anpassen .. oh mannnnDu kannst die IP auch im container festlegen:
MfG,
André -
Muss ich beim SNMP auf was achten, damit er wieder die Daten aus meiner Synology lesen kann?
SNMP ist in der Firewall freigegeben.
Bekomme beim SNMP-Adapter im ioBroker folgende Fehlermeldung.
10.0.1.22 Error session.get: RequestTimedOutError: Request timed out
Im Portainer hab ich für den ioBroker 2 Netzwerke.
-
@Negalein sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Muss ich beim SNMP auf was achten, damit er wieder die Daten aus meiner Synology lesen kann?
SNMP ist in der Firewall freigegeben.
Bekomme beim SNMP-Adapter im ioBroker folgende Fehlermeldung.
10.0.1.22 Error session.get: RequestTimedOutError: Request timed out
Im Portainer hab ich für den ioBroker 2 Netzwerke.
Versuchs mal mit der 172.17.0.1 im SNMP... Da die 10er Adresse deiner DS und die 10er Adresse deines iobroker auf einer physikalischen Netzwerkkarte liegen können die sich nicht erreichen... Geht wohl nur über das bridge Netzwerk...
MfG,
André -
Hallo André,
danke für Deine Antwort. Zu V3 habe ich bestimmt noch Fragen wenn ich soweit bin. Habe heute mal versucht V2 zu installieren. Nach dem Start des Containerns hatte ich Zugriff auf die Weboverfläche von iobroker. Aber das log sah nicht gut aus (Fehler wegen Node Versionen). Habe dann einfach über die Konsole den reinstall durchgeührt. Nach einer gefühlten Ewigkeit war die Installation beendet und die Fehler im ioBroker log weg.
Muss man nicht zwangsweise auch ein iobroker host this durchführen?
Insgesamt schien auf jeden Fall alles zu laufen bis auf yahka. Der blieb rot. Einmal gestoppt und gestartet und er wurde auch grün. Nur waren alle meine Geräte nicht in der Konfiguration von yahka. Ich habe den V2 Container erstmal gestoppt und den alten wieder gestartet. Dort funktioniert wie erwartet noch alles. Ich werde es nochmal probieren. Ich vermute das Synology hatte noch nicht alles kopiert vom iobroker-daten Verzeichnis. Nach dem Stoppen vom Container zwei kam auf einmal der Hinweis in der Synology OPberfläche das es fertig ist mit dem kopieren. War evtl zu ungeduldig.
Für den nächsen Test habe ich aber noch eine Zusatzfrage: Sollte ich beim nächsten Test vor dem reinstall noch iobroker host this machen? Oder danach? Wann aktualisiere ich am besten den js-Controller? Und zu guter letzt sollte ich iobroker vorher per Terminal stoppen?
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Versuchs mal mit der 172.17.0.1 im SNMP...
Danke, das wars!
So, jetzt werde ich V3 als Hauptinstallation verwenden.
-
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
define telnetPort telnet 7072 global
okay danke das GLOBAL fehlte wohl hatte so ein docker fhem .. nu läuft es. Hab den Container Namen genommen.
Leider geht nur IP bei Diskstation Reserve Proxy Wenn ich den Hostename eintrage sagt er nicht erreichbar ... Und da hab ich es auch das wenn ich es neu Starte eine neue IP bekomme .. dann muss ich den Reserve Proxy anpassen .. oh mannnnDu kannst die IP auch im container festlegen:
MfG,
AndréDanke Muss ich dafür echt immer auf EDIT und den Container ganz neu erstellen ?
Edit: Wichtig ist wohl das man oben Network bridged auswählt oder ? Weil im iob_public hat er ja schon eine ip. Hab damit eben mein Docker rzuerschossen g
-
hmm und unter bridged kann man wohl keine feste IP anlegen ..
user specified IP address is supported on user defined networks only
Schon krass das docker per zusallen das ganze vergibt und es sich nicht merkt ??????????? -
@cash sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Hallo André,
danke für Deine Antwort. Zu V3 habe ich bestimmt noch Fragen wenn ich soweit bin. Habe heute mal versucht V2 zu installieren. Nach dem Start des Containerns hatte ich Zugriff auf die Weboverfläche von iobroker. Aber das log sah nicht gut aus (Fehler wegen Node Versionen). Habe dann einfach über die Konsole den reinstall durchgeührt. Nach einer gefühlten Ewigkeit war die Installation beendet und die Fehler im ioBroker log weg.
Muss man nicht zwangsweise auch ein iobroker host this durchführen?
Nicht zwingend. Kommt drauf an ob dein ioBroker Container vorher einen anderen namen hatte. Schaden kann es aber nicht. Wenn der Name aber nicht stimmen würde, dann würdest du nicht auf den Admin kommen, bzw der wäre nicht gestartet. War bei mir zumindest so.
Insgesamt schien auf jeden Fall alles zu laufen bis auf yahka. Der blieb rot. Einmal gestoppt und gestartet und er wurde auch grün. Nur waren alle meine Geräte nicht in der Konfiguration von yahka. Ich habe den V2 Container erstmal gestoppt und den alten wieder gestartet. Dort funktioniert wie erwartet noch alles. Ich werde es nochmal probieren. Ich vermute das Synology hatte noch nicht alles kopiert vom iobroker-daten Verzeichnis. Nach dem Stoppen vom Container zwei kam auf einmal der Hinweis in der Synology OPberfläche das es fertig ist mit dem kopieren. War evtl zu ungeduldig.
Ich mache das immer per "cp" über die Kommandozeile der DS. Mit dem folgenden Befehl kopiert er alle Dateien mit Ausgabe auf der Kommandozeile. So siehst du immer wo er ist und wann er fertig ist. Kann schonmal ein wenig dauern...
cp -arv /volume1/docker/iobroker_data/. /volume1/docker/iobroker_data_bak
Für den nächsen Test habe ich aber noch eine Zusatzfrage: Sollte ich beim nächsten Test vor dem reinstall noch iobroker host this machen? Oder danach?
Wenn dann vorher.
Wann aktualisiere ich am besten den js-Controller?
Wenn alles läuft (Ich gehe aber davon aus, dass ioBroker das während des "reinstall.sh" automatisch auf die aktuelle Version zieht).
Und zu guter letzt sollte ich iobroker vorher per Terminal stoppen?
Ja, ioBroker immer stoppen.
MfG,
André