NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
ÜBERARBEITUNG dieses Beitrags am 15.10.2020
Es ist viel Wasser die Elbe hinab geflossen und auch der ioBroker unter Docker hat sich verändert, sodass dieses Thema in seine Komplexität schlicht nicht (mehr) in einen Post passt.
Aus diesem Grund ist das Tutorial aus diesem Post nicht mehr aktuell und wird auch nicht weiter gepflegt.
Für weitere Informationen zum Thema ioBroker unter Docker (mit oder ohne Synology DiskStation) stelle ich euch ab heute eine eigene Website zur Verfügung welche ich Stück für Stück mit relevanten Informationen zum Thema erweitern werde. Dieses und weitere Tutorials findet ihr ab sofort unter:Direktlink:
(https://smarthome.buanet.de/2019/05/iobroker-unter-docker-auf-der-synology-diskstation-v3/)Selbstverständlich bleibt dieser Threat hier als Support-Thread geöffnet. Es wird auch von niemanden verlangt die 2000+ Post zu lesen! Trotzdem hoffe ich. dass ihr den Thread vor dem Stellen der Frage einmal durchsucht.
@Glasfaser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Danke andre , für deine kurze Stellungnahme ;)
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das kann man sicher nicht erwarten! Was ich aber beobachte ist, dass offenbar nur die Wenigsten wissen, dass man auch einen Thread durchsuchen kann. Denn dann werden aus 2100 Beiträgen plötzlich nur 20 oder 30 Posts zu einem bestimmten Thema... Immer noch
mühsam, aber das ist eben so!Damit andere wissen was du meinst :
In User Einstellung aktivieren :

STRG + F

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Original Post vom 2. Februar 2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKleine Wette:
Ich wette, dass es möglich ist ioBroker in weniger als zwei Minuten in Betrieb zu nehmen ohne einen einzigen Befehl in eine Kommandozeile einzutippen. :)
Spaß beiseite, ich habe mich in den vergangenen Tagen einmal ausgiebig mit dem Virtualisierungstool Docker beschäftigt. Herausgekommen ist dieses kleine aber feine Setup inkl. einem ioBroker-Docker-Image auf Basis von Debian. Vielleicht ja eine echte Alternative zu Einplatinen-Rechnern oder Dauerlauf-PCs….
Vorraussetzung:
- Unterstütze Synology DiskStation mit installiertem Docker Paket (https://www.synology.com/de-de/dsm/app_packages/Docker)
Dann kann es auch schon los gehen…
Schritt 1: Image herunterladen
Öffne den Bereich "Registrierung" in der Docker-Oberfläche auf des Synology DiskStation und gebe in das Suchfeld "iobroker" ein. Markiere das Image "buanet/iobroker" und klicke auf dne Downloas-Button. Das Image wird nun heruntergeladen.

Schritt 2: Container aus Image erstellenÖffne den Bereich "Abbild" in der Docker-Oberfläche. Hier sollte nun das Image "buanet/iobroker:latest" zur Verfügung stehen. Wähle das Image aus und klicke auf den Starten-Button.

Es öffnet sich ein Wizard zum Erstellen eines Containers. Vergebe einen Containernamen und klicke auf den Button "Erweiterte Einstellungen".
In den Erweiterten Einstellungen wähle das Kontrollkästchen "Automatischen Neustart aktivieren" aus um sicherzustellen, dass der Container sich im Fehlerfall selbstständig neu startet.
Unter Netzwerk wähle "Dasselbe Netzwerk wie Docker Host verwenden". Diese Einstellung sorgt dafür, dass siche ioBroker später "anfühlt" als würde es direkt auf der DiskStation laufen und vermeidet Probleme mit dem Hostnamen.
Schließe die Erweiterten Einstellungen mit OK, und klicke den Weiter-Button. In der Zusammenfassung sind nochmals alle Einstellungen aufgeführt. Klicke auf "Übernehmen".
Schritt 3: Container überprüfenÖffne den Bereich "Container" in der Docker-Oberfläche. Hier sollte nun der erstellte Container erscheinen. Prüfe ob der Container eingeschaltet ist und sich im Status "Läuft" befindet.

Wähle den Container aus und klicke auf "Details".
Unter "Prozess" siehst du ob ioBroker erfolgreich gestartet ist. Falls dem so ist, sieht es ungefähr so aus:
Unter "Terminal" hast du direkten Zugriff auf die Kommandozeile des Containers. Sollte die Kommandozeile leer sein, klicke in das große graue Feld und drücke Enter. Nun sollte es wie folgt aussehen:
Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes:cd /opt/iobroker iobroker stop iobroker startSchritt 4: ioBroker Weboberfläche öffnen
Wenn der Container ordnungsgemäß eingerichtet und gestartet ist, sollte deine neue ioBroker-Installation nun über das Webinterface erreichbar sein. Öffne dazu einfach den entsprechenden Pfad in einem Webbrowser:
http://[name_oder_ip_der_diskstation]:8081Als kleines Goodie obendrauf, hier die Anleitung nochmal als kleines Video: https://www.youtube.com/watch?v=G-A3Q1Pq0YQ
Ich habe meine ioBroker Installation vor 2 Tagen auf Docker umgezogen. Bisher keine Probleme.
Aktuell habe ich noch kein automatisiertes Backup aktiv (muss noch ein Script schreiben). Manuell lässt sich der ioBroker Container ganz einfach über die Docker-Öberfläche sichern: Bereich "Container", ioBroker Container auswählen, unter "Einstellungen" > "Export" wählen und "Containerinhalt und -einstellungen exportieren". Dann lässt sich das Backup direkt auf der Synology ablegen.
MfG,
André
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hinzugefügt am 08.03.2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEs gibt ein neues Docker-Image im Docker Hub (sobald es fertig generiert ist). Darin enthalten jetzt ein Fix für die Zeitzone. Es sollte ab sofort automatisch Europe/Berlin eingestellt sein.
Außerdem habe ich ein bisschen rum experimentiert und es jetzt ermöglicht auch Updates des Docker Images einfach einspielen zu können. Dazu liegt mein ioBroker-Verzeichnis jetzt direkt auf der Synology und wird nur in den Container gemountet. Dies ermöglicht es nun den Container aus zu tauschen und meine ioBroker-Installation bei zu behalten.
Das Ganze betrachte ich jetzt mal als Thema für "Fortgeschrittene" weshalb ich meine Anleitung jetzt auch ein wenig kürzer fasse.
Advanced Schritt 1.
ioBroker-Verzeichnis "erstellen" (oder halt ein eigenes Backup nehmen):
Damit wir ein lauffähiges ioBroker-Verzeichnis bekommen muss einmal ein Container nach der obigen Anleitung erstellt werden. Läuft der Container, kann man über die Kommandozeile einfach ioBroker stoppen und das komplette ioBroker-Verzeichnis aus dem Container heraus auf die Synology kopieren, z.B. in den Ordner /volume1/docker/iobroker.
Ich habe dazu den ioBroker-Ordner im Container in ein .tar-Verzeichnis gepackt, über ein gemountetes Verzeichnis auf die Synology kopiert und dort wieder entpackt.
Advanced Schritt 2.
Den Container aus Advanced Schritt 1 löschen und einen neuen erstellen (gerade gesehen, man muss nicht löschen, man kann auch bearbeiten). In Schritt zwei der "einfachen" Anleitung vor dem Schließen der erweiterten Einstellungen die Registerkarte "Volume" öffnen und den Pfad /opt/iobroker im Container auf den Pfad im Dateisystem der Synology (z.B. /docker/iobroker) mounten. So sieht das aus:

Wichtig: Der Ordner auf der Synology muss sich in einem "gemeinsamen Ordner" befinden welcher über die Oberfläche des DiskStation angelegt worden ist. Bei mir ist das der Ordner "docker" (Im Filesystem der DiskStation also /volume1/docker).Advanced Schritt 3.
Weiter wie in der Anleitung oben.
Wir sollten nun einen Docker-Container haben, der für das ioBroker-Verzeichnis auf das Dateisystem der DiskStation zugreift.
Falls es nun vielleicht ein Update des Images gibt, können wir das Image einfach herunter laden, den alten Container deaktivieren oder löschen und wie beschrieben einen neuen Container mit gemountetem Verzeichnis aus dem neuen Image erstellen. Die ioBroker Installation bleibt davon unberührt (auf der DiskStation).
@andre Hallo Andre, das Thema ist ja schon uralt, aber ich komme irgendwie nicht mit dem "Fortgeschrittenen Tutorial" zurecht.
Ich habe leider damals alles learning by doing mäßig aufgesetzt und bin froh das es sauber funktioniert. Den Container habe ich auch schon einmal im Docker neu aufgesetzt und quasi clean neu eingerichtet und nur Adapter installiert, die ich auch wirklich brauche.
Ich würde jetzt gerne meine iobroker Installation auf die Synology DS920+ ins Dateisystem auslagern. Die Gründe dafür sind ja hinreichend bekannt :)
/docker/iobroker. <-- Das Verzeichnis habe ich, aber ich habe keine Ahnung wie ich nun den Container dort hinbekomme.Wärst du oder vielleicht jemand anders so freundlich und könnte das etwas detaillierter beschreiben? Ich vermute mal es geht rein über das Terminal und Linuxbefehle, aber ich will auch nichts kaputt machen, es steckt soviel Arbeit drin :/
Vielen Dank im Voraus. -
@andre Hallo Andre, das Thema ist ja schon uralt, aber ich komme irgendwie nicht mit dem "Fortgeschrittenen Tutorial" zurecht.
Ich habe leider damals alles learning by doing mäßig aufgesetzt und bin froh das es sauber funktioniert. Den Container habe ich auch schon einmal im Docker neu aufgesetzt und quasi clean neu eingerichtet und nur Adapter installiert, die ich auch wirklich brauche.
Ich würde jetzt gerne meine iobroker Installation auf die Synology DS920+ ins Dateisystem auslagern. Die Gründe dafür sind ja hinreichend bekannt :)
/docker/iobroker. <-- Das Verzeichnis habe ich, aber ich habe keine Ahnung wie ich nun den Container dort hinbekomme.Wärst du oder vielleicht jemand anders so freundlich und könnte das etwas detaillierter beschreiben? Ich vermute mal es geht rein über das Terminal und Linuxbefehle, aber ich will auch nichts kaputt machen, es steckt soviel Arbeit drin :/
Vielen Dank im Voraus.@weiserwolf sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Das Verzeichnis habe ich, aber ich habe keine Ahnung wie ich nun den Container dort hinbekomme.
ist doch alles hier beschrieben !?
https://smarthome.buanet.de/2017/09/iobroker-unter-docker-auf-der-synology-diskstation/ -
@weiserwolf sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Das Verzeichnis habe ich, aber ich habe keine Ahnung wie ich nun den Container dort hinbekomme.
ist doch alles hier beschrieben !?
https://smarthome.buanet.de/2017/09/iobroker-unter-docker-auf-der-synology-diskstation/@glasfaser Oh, vielen Dank. Das ist mir jetzt etwas peinlich :/
-
Hi hat einer von euch schon auf DSM 7.0 upgegradet? Ich habe gelesen, dass dann keine USB Dongle mehr unterstützt werden sollen, was ja für den Zigbee Adapter sehr doof wäre. Gibt es hierzu schon Erfahrungswerte?
@jogge sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Gibt es hierzu schon Erfahrungswerte?
https://forum.iobroker.net/topic/40110/docker-install-synology-dsm-7-zigbee-stick-nicht-erkannt
-
Hi hat einer von euch schon auf DSM 7.0 upgegradet? Ich habe gelesen, dass dann keine USB Dongle mehr unterstützt werden sollen, was ja für den Zigbee Adapter sehr doof wäre. Gibt es hierzu schon Erfahrungswerte?
Schau mal hier https://www.synology-forum.de/threads/dsm-7-0-beta-conbee-2-usb-stick-wird-nicht-mehr-erkannt.109907/post-908014
Das Script aus Beitrag 15 angelegt und Deconz und Zwave liefen danach wieder. Habe eine DS918+
-
Schau mal hier https://www.synology-forum.de/threads/dsm-7-0-beta-conbee-2-usb-stick-wird-nicht-mehr-erkannt.109907/post-908014
Das Script aus Beitrag 15 angelegt und Deconz und Zwave liefen danach wieder. Habe eine DS918+
@typ1er und @Glasfaser ich danke euch! Also werde ich für den Upgrade ein bissel mehr Zeit einplanen.
-
@typ1er und @Glasfaser ich danke euch! Also werde ich für den Upgrade ein bissel mehr Zeit einplanen.
-
@andre Hab gesehen du bist and der Version 5.2 dran - hab aber zum Stand nichts gefunden, sollen wir mittesten? Ich bin noch auf JS 3.1.6 und hoffte dass ich mir die Upgrades innerhalb des Containers sparen kann... gib mal bitte kurzen Hinweis wie es weitergeht und wass bezüglich Updaten dann sinnvoll ist... ich würde lieber ein neues Image von dir aufsetzen als mich an die manuellen Updates zu wagen...
-
@andre Hab gesehen du bist and der Version 5.2 dran - hab aber zum Stand nichts gefunden, sollen wir mittesten? Ich bin noch auf JS 3.1.6 und hoffte dass ich mir die Upgrades innerhalb des Containers sparen kann... gib mal bitte kurzen Hinweis wie es weitergeht und wass bezüglich Updaten dann sinnvoll ist... ich würde lieber ein neues Image von dir aufsetzen als mich an die manuellen Updates zu wagen...
@boardy Ja, bin ich dran. Ich hab da so ein paar Sachen die da unbedingt noch mit rein sollen, z.B.:
- Autobuild über Github Actions (dazu habe ich noch einen offenen PR bezüglich iobroker Setup Script)
- Neue Version des Maintenance Scripts aus V5.1.0
- diverses Renaming und Aufräumen
Sobald ich das alles zusammen habe gibts nochmal ne neue beta zum Testen und wenn alles ok ist daraus direkt das Release. Ich gebe dann Bescheid.
PS: Das Upgrade des JS-Controllers wirst du dir aber nicht sparen können, es sei denn du machst das Container Update über Backup und Restore. Wenn du nur den Container updatest und den selben ioBroker Ordner mountest wirst du das js-controller Update trotzdem per Kommandozeile machen müssen.... Müsste hier alles auch drin stehen...
MfG,
André -
@boardy Ja, bin ich dran. Ich hab da so ein paar Sachen die da unbedingt noch mit rein sollen, z.B.:
- Autobuild über Github Actions (dazu habe ich noch einen offenen PR bezüglich iobroker Setup Script)
- Neue Version des Maintenance Scripts aus V5.1.0
- diverses Renaming und Aufräumen
Sobald ich das alles zusammen habe gibts nochmal ne neue beta zum Testen und wenn alles ok ist daraus direkt das Release. Ich gebe dann Bescheid.
PS: Das Upgrade des JS-Controllers wirst du dir aber nicht sparen können, es sei denn du machst das Container Update über Backup und Restore. Wenn du nur den Container updatest und den selben ioBroker Ordner mountest wirst du das js-controller Update trotzdem per Kommandozeile machen müssen.... Müsste hier alles auch drin stehen...
MfG,
André@andre Dann mache ich lieber das Update mit Backup und Restore, aktuell hat mein Admin user keine Rechte auf die Verzeichnisse, alles schon wieder zu lange her und vergessen... SSH Zugang ist idr Auch inaktiv...
Frage: ging das JS Controler Upgrade auch mittels Cron Job aus der Synology heraus? das wäre dann echt ne option - z.B. so mache ich das Portainer Update - dann braucht es keinen SSH Zugang...

Würde dann das Script mit root gestartet passen?:
pkill -u iobroker
iobroker update
iobroker upgrade selfvorher noch ein cd /opt/iobroker ???
Oder zerschieße ich mir dann alles?Wenn das ginge wäre es sicher auch für andere eine Erleichterung...
LG
Uwe -
@andre Dann mache ich lieber das Update mit Backup und Restore, aktuell hat mein Admin user keine Rechte auf die Verzeichnisse, alles schon wieder zu lange her und vergessen... SSH Zugang ist idr Auch inaktiv...
Frage: ging das JS Controler Upgrade auch mittels Cron Job aus der Synology heraus? das wäre dann echt ne option - z.B. so mache ich das Portainer Update - dann braucht es keinen SSH Zugang...

Würde dann das Script mit root gestartet passen?:
pkill -u iobroker
iobroker update
iobroker upgrade selfvorher noch ein cd /opt/iobroker ???
Oder zerschieße ich mir dann alles?Wenn das ginge wäre es sicher auch für andere eine Erleichterung...
LG
Uwe@boardy sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
dann braucht es keinen SSH Zugang...
pkill -u iobroker
iobroker update
iobroker upgrade selfWarum SSH und per Skript , die drei Befehle kannst du doch einfach in der Syn Docker Terminalkonsole eingeben und dann den Container neu starten !
vorher noch ein cd /opt/iobroker ???
siehe hier :
https://forum.iobroker.net/topic/32656/iobroker-admin-über-8081-nicht-mehr-erreichbar-gelöst/11 -
@boardy sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
dann braucht es keinen SSH Zugang...
pkill -u iobroker
iobroker update
iobroker upgrade selfWarum SSH und per Skript , die drei Befehle kannst du doch einfach in der Syn Docker Terminalkonsole eingeben und dann den Container neu starten !
vorher noch ein cd /opt/iobroker ???
siehe hier :
https://forum.iobroker.net/topic/32656/iobroker-admin-über-8081-nicht-mehr-erreichbar-gelöst/11@glasfaser Danke teste ich morgen - manchmal denkt man einfach zu kompliziert ;)
Update: Mensch war das easy, das kann Andre bestimmt noch in seiner Anleitung erwähnen - hab seit langem mal alles auf aktuellem Stand (-:
-
Hallo,
ich habe eine Problem mit "Exec" Befehlen welche ich senden möchte in mein Netzwerk, damit Daten von meiner Heizung aktualisiert werden.Exec Befehl sieht so aus Benutzer/Passwort und xxx.xxx.xxx.xxx natürlich mit richtigen Daten befüllt:
curl --digest --user BENUTZER:PASSWORT http://xxx.xxx.xxx.xxx/api/1.0/lookup/1/60/0/2/80/0
curl --digest --user Service:123xyz http://192.168.1.70/api/1.0/lookup/1/60/0/2/80/0Wenn ich den http Aufruf über meinen Laptop mache funktioniert es sofort und die Seite wird aufgeruen/aktualisiert.
Über Blockly und JavaScript funktionisrt das aus dem ioBroker raus leider nicht ("Kommando "exec" erlauben" ist angehackt), im debug und in der Info wird angezeigt das er den Befehl auch ausführt wird.

Kann es sein das es an meiner Konfiguration vom Docker unter Synology liegt in bezug auf den Netzwerk Einstellungen?
Das der Befehl gar nicht in mein Netzwerk kommt?Homematic Verbindung etc. funktioniert alles.


ioBroker 3.3.15
Node.js V12.17.0
JavaScript Adapter 5.2.8 -
Hi,
ich habe ein kleines Problem: ich möchte einen "alten" Multihost Eintrag aus der Konfiguration entfernen. Leider gelingt es mir nicht. Ich bekomme immer wieder die Meldung:
root@iobroker:/opt/iobroker# pkill -u iobroker root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker#Ich habe es auch schon mit
pkill ioprobiert. Das macht keinen Unterschied.Hat wer eine Idee, wie ich den alten Host entferne?
Gruß
Rookie
-
Hi,
ich habe ein kleines Problem: ich möchte einen "alten" Multihost Eintrag aus der Konfiguration entfernen. Leider gelingt es mir nicht. Ich bekomme immer wieder die Meldung:
root@iobroker:/opt/iobroker# pkill -u iobroker root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker#Ich habe es auch schon mit
pkill ioprobiert. Das macht keinen Unterschied.Hat wer eine Idee, wie ich den alten Host entferne?
Gruß
Rookie
-
root@iobroker:/opt/iobroker# pkill -u iobroker root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker# iobroker stop iobroker controller daemon is not running root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker# pkill io root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker#Welche Möglichkeiten gibt es sonst noch?
-
root@iobroker:/opt/iobroker# pkill -u iobroker root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker# iobroker stop iobroker controller daemon is not running root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker# pkill io root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker#Welche Möglichkeiten gibt es sonst noch?
@rookie50 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Welche Möglichkeiten gibt es sonst noch?
evtl muss auch der Slave gestoppt sein. Ansonsten mit
ps auxprüfen ob noch iobroker Prozesse laufen und diese händisch 'killen'.kill -9 PID -
Hi,
ich habe ein kleines Problem: ich möchte einen "alten" Multihost Eintrag aus der Konfiguration entfernen. Leider gelingt es mir nicht. Ich bekomme immer wieder die Meldung:
root@iobroker:/opt/iobroker# pkill -u iobroker root@iobroker:/opt/iobroker# iobroker host remove ioBroker-slave Cannot execute changes on running system. Stop iobroker first. root@iobroker:/opt/iobroker#Ich habe es auch schon mit
pkill ioprobiert. Das macht keinen Unterschied.Hat wer eine Idee, wie ich den alten Host entferne?
Gruß
Rookie
-
@rookie50 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hat wer eine Idee, wie ich den alten Host entferne?
Den Ordner vom alten Host (in der Expertenansicht) löschen ,
dann ioBroker neu starten@glasfaser DANKE!! Das war's. Jetzt ist der Eintrag weg und ich bekomme keine unnötigen logg Meldungen mehr.
Gruß Rookie