IoBroker unter Docker auf der Synology DiskStation (v3)

Updates und Backup

Inhaltsverzeichnis

Jetzt läuft er also, unser neuer ioBroker-Container. Aber was nun? Ganz klar, erst einmal Adapter installieren und einrichten (worauf ich hier nicht weiter eingehen werde). Und dann? Was kommt sonst in Zukunft noch auf uns zu? Nun ja, nichts ist so kurzlebig wie Softwareversionen. Wer ein zuverlässiges und sicheres System betreiben will kommt um gelegentliche Aktualisierungen nicht herum. Im Folgenden gebe ich ein paar Hinweise was ihr wo und wie aktualisieren könnt/ solltet.

Adapter & js-controller aktualisieren

Fangen wir mit dem Teil an, der am häufigsten Aktualisierungen erfahren wird. Dem ioBroker selbst. Wie ihr vielleicht in der Knowledgebase bereits gelesen habt, befinden sich ioBroker und seine Adapter im Ordner /opt/iobroker. Da dieser Ordner auf eurer DS liegt und nur in den ioBroker Container eingehängt ist, werden Aktualisierungen des Containers auf ioBroker und seine Adapter keine Auswirkung haben. Ihr müsst diese Komponenten also immer separat aktualisieren.
Dies erfolgt in der Regel über die Weboberfläche (den Admin) des ioBroker. Mit einem Klick auf das Symbol zum Updaten wird ioBroker eure Adapter vollautomatisch aktualisieren. Nun kann es allerdings vorkommen, das für einige Aktualisierungen die Kommandozeile bemüht werden muss. So zum Beispiel zum Updaten des js-controllers.
Auch dies sollte aber kein Problem sein. Über Portainer habt ihr die Möglichkeit euch auf die Kommandozeile des Containers zu verbinden und so die nötigen Befehle abzusetzen.

Achtung! Aufgrund von Problemen beim Autostart verwende ich im ioBroker-Image nicht den ioBroker-Daemon (ioBroker-Dienst). Daher unterscheiden sich die Befehle zum Stoppen und Starten von ioBroker im Container. Eine detaillierte Beschreibung dazu findet ihr in der Knowledgebase zu meinen Tutorials.

Pakete innerhalb des Containers aktualisieren

IoBroker läuft im Container unter Linux. Jedes Betriebssystem benötigt früher oder später Systemupdates. Gleiches gilt für die ganzen Pakete die die Ausführung von ioBroker im Container erst möglich machen. Um diese Updates in eurem Container zu installieren habt ihr zwei Möglichkeiten. Die erste ist das manuelle installieren der Updates über die Kommandozeile im Container. Das funktioniert wie in jedem anderen Linux auch über den Paketmanager. Im Falle von Debian ist dies apt. Demnach könnt ihr die Updates wie folgt installieren:

sudo apt-get update && sudo apt-get -y upgrade

Das System wird nun alle vorliegenden System-Updates automatisch laden und installieren.

Die zweite Möglichkeit zum Installieren der Updates ist das Aktualisieren des gesamten Containers wie ich es im nächsten Abschnitt beschreiben werde.

Container aktualisieren

Auf der letzten Seite haben wir den Container ja aus einem heruntergeladenen Docker-Image erstellt. Dieses Image ist allerdings in der Regel einen Tag später schon veraltet, denn es wird jede Nacht automatisch eine neuere Version erstellt welche dann jeweils die neuesten Updates des Debian Grundsystems und aller installierten Pakete enthält. Weiterhin fließen in das Image auch immer wieder Änderungen und Bugfixes von mir ein, sodass auch aus diesem Grund die Aktualisierung des gesamten Containers ratsam ist.

Aber wie funktioniert die Aktualisierung des Containers eigentlich? Es ist wirklich ganz einfach. Im Prinzip müsst ihr nur den alten ioBroker-Container weg schmeißen und aus dem aktualisierten Image einen Neuen mit identischer Konfiguration erstellen. Mit Hilfe von Portainer sind das am Ende gerade einmal drei Klicks:

Ruft einfach euren ioBroker-Container in Portainer auf und stoppt ihn über die Bedienschaltflächen. Anschließend wählt ihr „Recreate“ und aktiviert den Switch „Pull latest Image“. Dann nur noch auf „Recreate“ klicken und Ruhe bewahren. Portainer läd nun voll automatisch die neueste Version des verwendeten Images herunter und erstellt den Container mit der selben Konfiguration neu. Anschließend müsst ihr den Container lediglich wieder starten und der Container ist auf die neueste Version aktualisiert. Einfacher geht es nicht!

Hinweis: Sollte doch mal etwas schief gehen, dann löscht den „Unfall“ einfach und erstellt manuell einen neuen Container, wie bereits unter „Neuen Container erstellen“ beschrieben. Dass ihr euch vorher am Besten ein Backup des ioBroker-Ordners (iobroker_data) auf der DS angelegt habt, brauche ich an dieser Stelle wohl nicht extra erwähnen, oder etwa doch? 😉

Datensicherung

Über kurz oder lang kommt jeder an den Punkt an dem man sich Gedanken über das Thema Backup machen sollte. Die Meisten kommen dort allerdings erst an, wenn einmal Daten verloren gegangen sind. Das muss aber nicht sein. Wie ich mein Backup mache habe ich ja bereits im alten Tutorial beschrieben. Dieser Teil hat sich auch mit der neuen ioBroker-Version nicht geändert und ist damit auch weiterhin gültig.

Damit sind wir am Ende dieses Tutorials angelangt. Wie immer gilt: Ich freue mich auf euer Feedback. Gerne auch wenn es bei eurer Umsetzung keine Probleme gab/ gibt. Bitte seht nach Möglichkeit davon ab mich bei Fragen persönlich zu kontaktieren. Support gibt es ausschließlich über die öffentlichen Kommentare und das ioBroker-Forum. Vielen Dank für euer Verständnis.

About the author: André

André
Familienvater und bekennender Technik-Nerd. Beruflich unterwegs als Fachinformatiker für Systemintegration bei einem deutschen IT-Dienstleister. In der Freizeit begeisterter "Home-Automatisierer" bzw. "Smarthome-Bastler" und (zumindest bei schönem Wetter) gerne mit der Familie in verschiedenen Outdooraktivitäten unterwegs.

99
Hinterlasse einen Kommentar

avatar
10000
31 Kommentare
68 Antworten
3 Abonnenten
 
Meiste Antworten
Beliebtester Kommentar
35 Kommentatoren
AndréChristianAndiandyBernd Letzte Kommentatoren
  Abonnieren  
Benachrichtige mich zu:
andy
Gast
andy

Hi, ich habe jetzt schon zum zweiten Mal das gleiche Problem: installiere nach Anleitung, übernehme eine alte Installation und es funktioniert problemlos. Dann mache ich im ioBroker Admin ein Update irgend eines Adapters, dabei zerschiesst es irgendwas. Im Log steht folgendes, wenn ich den Container lösche und neu installiere bleibt die Log Ausgabe gleich —————————————- —– Image-Version: 3.1.0 —– —– 2019-10-06 11:27:39 —– —————————————- Startupscript running… Installing additional packages… The following packages will be installed: nano Installing additional packages done… Changing permissions upon first run (This might take a while! Please be patient!)… Changing permissions done… Starting ioBroker… —————————————- ——-… Mehr lesen »

Andi
Gast
Andi

Hi André,

ich hatte den iobroker v2 gut laufen. Da wir umgebaut haben und die Elektrik neu ist, habe ich meine Homematic Anlage und auch den iobroker neu aufgesetzt.
Ich bin der Anleitung für die v3 gefolgt und bin gut durchgekommen und habe auch das mcvlan ohne probleme eingerichtet bekommen (glaube ich). Der iobroker container ist auch gestartet.
Im log steht „Starting ioBroker …“ und das ist nun seit 2 Stunden so.
Die letzte Zeile im Log ist „Send diag info: {…..“

Ich komme nicht auf die admin seite von iobroker.
Hast Du eine Idee was ich machen kann? Ist mir etwas durchgegangen?

Grüße Andreas

Ha-dida
Gast
Ha-dida

Hallo André,
nutze schon seit Längerem dein Image in Verbindung mit openmediavault im ‚Bridge mode‘.
Erstklassige, professionelle Arbeit.
Wegen meiner Shelly Devices und der Multicast Problematik (Nutzung nur über mqtt) wollte ich deinem Vorschlag
folgen und auf MACVLAN (nur iobroker docker) umsteigen.
Der Container wird auch sauber erstellt, Verzeichnis wird gefüllt, Fehlermeldungen gibt es keine.
Allerdings kann ich unter der def. IP Adresse 192.168.178.100:8081 nicht auf die Seite zugreifen.
Ping aus dem Docker heraus ist nach allen Seiten möglich, von der openmediavault Seite her nicht!
Kann das mit den firewall Einstellung auf meinem NAS zusammenhängen?

Gruß,
Dieter

Enrico
Gast
Enrico

Ich habe mich an die Anleitung gehalten und Portainer eingerichtet (läuft auch). Auch das macvlan bekomme ich eingerichtet. Config ist Subnet=192.168.0.0/16 (wie das lokale Netz auch), Gateway=192.168.0.5 (Fritzbox) und IPRANGE=192.168.5.1/24 (ab hier soll Docker die IPs vergeben) Beim Erstellen der Container wird dann aber immer als erstes die IP 192.168.5.0 zugewiesen, also hab ich in Portainer die IP manuell beim erstellen des Containers vergeben (192.168.5.1). Damit ist dann der Container auch erreichbar und ich komme auf den iobroker drauf. Jetzt aber das Problem: Der Container kann nicht ins Internet…schon beim Starten gibt es Fehlermeldungen, dass Statistiken nicht hochgeladen werden können.… Mehr lesen »

Thaddäus
Gast
Thaddäus

Hi, ich habe IoBroker schon einige Wochen per MACVLAN nach deiner Anleitung am laufen. Gestern habe ich mein DSM auf der Diskstation auf Version „6.2.2-24922 Update 3“ geupdatet. Ebenso das Paket „Universal Search“ auf v.1.4.0.-0275. Die Diskstation hat einen Neustart durchgeführt. Anschließend erreiche ich IoBroker nicht mehr. unter http://192.168.178.20:8081/ kommt : Die Website ist nicht erreichbar Im Portainer läuft der Container iobroker, im Docker auch. Muss ich noch was machen nach einem Neustart? Ich muss sagen, dass ich mich definitiv nicht als Fortgeschrittener User nennen bezeichnen kann, fand die Installation schon sehr aufwäändig, habe sie jedoch grade so hinbekommen. Verstehen… Mehr lesen »

Stefan
Gast
Stefan

Hallo,

danke für das ausführliche Tutorial. Ich hänge aber leider beim Deployen des Containers. Ich habe soweit alle Daten eingetragen. Es wird mir aber leider jedes Mal folgender Fehler angezeigt:
„Error. Cannot create endpoint on configuration-only network“

Was könnte das bedeuten?

Eduard Sarjadjuk
Gast
Eduard Sarjadjuk

Hallo Andre,

ich benutze deine Docker-Image V3 und es funktioniert einwandfrei, vielen dank für das teilen deines Wissens !
Ich sehe das dein Image auf der Node.js 8.16.0 Version basiert. Der Info Tab im Iobroker gibt mir die Info, dass es vom Node.js eine neuere Version gibt. Planst du hier auch noch ein Update ? Oder könntest du mir evt. sagen wie man dies macht ?
Oder sollte man dies nicht tun ?
Falls du mal Zeit haben solltest, würde ich mich über ein kurzes Feedback freuen.
Vielen Dank im Voraus !

JHG
Gast
JHG

Hallo zusammen, ich habe heute iobroker über den beschriebenen Weg installiert, was auch problemlos funktioniert hat. Bei der Übernahme meiner alten Installation habe ich mich dann irgendwie vertan, so dass ich entschieden habe, das Systeme einfach neu zu installieren. Sollte ja kein Problem sein. Nun erhalte ich aber folgende Meldungen und iobroker startet nicht mehr. Installing additional packages… The following packages will be installed: nano Installing additional packages done… cp: der Aufruf von stat für ‚/opt/iobroker/iobroker‘ ist nicht möglich: Datei oder Verzeichnis nicht gefunden sed: /opt/iobroker/iobroker kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden Changing permissions upon first run… Mehr lesen »

Henrik
Gast
Henrik

Man könnte auch beim Erzeugen des macvlan Netzwerkes einen IP-Range von 192.168.0.240/28 (statt 192.168.0.100/32) eintragen, dann hat man 14 IPs „frei“ für Container. Aufpassen, dass der DHCP-Range im Router nur bis *.239 eingestellt wird. Nun vergibt man bei der Containererzeugung einfach eine feste IPv4 IP „192.168.241“, für den nächsten Container *242 etc.

Dirk
Gast
Dirk

Erstmal vielen Dank für die super Anleitungen. Ich folge diesen schon eine ganze Weile und sie funktionieren super. ich bin bereits auf ioBroker v3 und habe nun ein Update gemacht, da der js.controller eine neue Version brauchte. Also genau nach Anleitung vorgegangen, wobei ich zunächst über portainer ein Recreate des Containers durchgeführt habe. Dann über portainer auf die Konsole im ioBroker und Deine Befehlskette pkill io iobroker update iobroker upgrade self node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 & ausgeführt. Danach habe ich den Container nochmal über DSM Docker neu gestartet. Wenn ich jetzt die Weboberfläche des Admin aufrufe, sehe ich zwar den… Mehr lesen »

Frank
Gast
Frank

Hallo Andre, ich benutze deine Io-Broker Images auch schon lange und möchte mich für deine tolle Arbeit bedanken. Bisher hat immer alles prima funktioniert aber nun hab ich seit einigen Tagen ein Problem an dem ich ncht weiterkomme. Es gelingt mir partout nicht meinen iobroker container per bridge-network mit einem zweiten container (in meinem Fall mysql) zu verbinden. Der Iobroker Container bekommt die 172.17.0.3 und der sql-container die 172.17.0.4 aber es ist keine Verbindung möglich. ich kann noch nicht mal das gateway also die 172.17.0.1 pingen. Ich hab schon die verschiedensten konstellationen versucht, aber ich krieg es nicht hin. Ist… Mehr lesen »

Thorsten
Gast
Thorsten

Ich habe alles so eingerichtet, wie beschrieben und es läuft auch soweit. Allerdings bekomme ich jedes Mal, wenn ich in der ioBroker-Konsole des Portainers den Befehl „iobroker update“ oder „iobroker backup“ oder dergleichen eingebe, eine Fehlermeldung

/usr/bin/env: „node\r“: Datei oder Verzeichnis nicht gefunden

Das lässt wohl auf eine DOS-Konvertierung schließen. Ich kann die Konsole nur als root aufrufen. Wenn ich das selbe ioBroker-Verzeichnis mit der alten Version 2 des buanet-Images verwende, klappt es. Hat jemand eine Idee, wie ich das Problem gelöst bekomme. Wie gesagt, alles andere funktioniert. Die ioBroker-Adapter lassen sich auch über die ioBroker-Admin-Oberfläche problemlos updaten.

Marc
Gast
Marc

Hallo Andre, jetzt muss ich mich doch gleich noch mal melden :/ Du schreibst: „Trotzdem gibt es einen Wermutstropfen: Eine direkte Kommunikation zwischen der IP-Adresse des ioBrokers und der des Docker-Hosts ist leider nicht möglich. Praktisches Beispiel ist hier z. B. die Anbindung einer auf dem Host laufenden SQL-Datenbank an den ioBroker-Container. In so einem Fall müssen andere Lösungen gefunden werden.“ AAAAHHHHH…. Ich hab es gerade probiert – ich kann wirklich auf alles zugreifen, aber nicht auf den eigentlichen DockerHost. Warum ist das so? Ich hab natürlich eine SQL-DB und auch noch weitere Sachen auf dem Server am laufen. Letztendlich… Mehr lesen »

Marc
Gast
Marc

Hallo Andre,
super HowTo, ganz großes Dankeschön dafür!!!

Eher eine kleine Ergänzung an alle, die wie ich mit der MACVLAN-Konfiguration kämpfen.
Wenn man diese löscht, den DockerContainer aber schon erstellt hat, muss man diese nachträglich wieder manuell dem Container (im DockerContainer) zuweisen – diese eigentliche „Kleinigkeit“ hat mich gerade etwas Nerven gekostet :}

In dem Container selbst, steht dann auch, welche IP-Adresse zugewiesen wurde 🙂

Vielleicht hilft es dem einen oder anderen.

Gruß
Marc

Chris
Gast
Chris

Hi André vielen Dank für die tolle Anleitung, leider hänge ich bei iobroker und bekommen keine Verbindung zu Port 8081 -Netzwerk Zeitüberschreitung. Der Ordner auf der ds iobroker_data ist auch leer.

Homematic läuft über die ds IP aber keine Verbindung zum LGW auch die Link LED leuchtet nicht.

Jemand eine Idee wo ich ansetzen könnte?

Wlad
Gast
Wlad

Hallo André, Ich hoffe du kannst mir helfen. Ich bekomme ioBroker einfach nicht auf meiner Synology (DSM 6.1-15047) zum laufen. Momentan läuft ioBroker als Container im Bridge Netzwerk. Hier habe ich jedoch das Problem, dass ich jeden Port einzeln mappen muss. Das führt dazu, dass der BroadLink2.0 Adapter nicht funktioniert, da er bei jedem Start unterschiedliche UDP Ports verwendet, was das mappen im Vorfeld unmöglich macht. Also habe ich versucht ioBroker im MACVLAN Modus via Portainer laufen zu lassen. Leider bekomme ich jedoch Portainer nicht zum laufen, da Portainer keinen Zugriff auf die Docker.Sock bekommt. Auch der Trick mit dem… Mehr lesen »

Surfer2010
Gast
Surfer2010

Hi, i solved my „issue“ before (i posted on your github) … the reason is as simple as hard to find … i tracked it down to permission issues as you also said, but …
my folder / the drive it was on, was mounted as „noexec“ in the fstab …
that was the reason the container couldn’t write all the files ….

just wanted to let you know maybe for you tutorial

Carsten
Gast
Carsten

Hi,
Vielen Dank für die super Anleitung. Bei mir läuft auch alles super und habe das Netzwerk über MacVlan eingerichtet. Jetzt habe ich den Hue Adapter in ioBroker installiert, aber die Instanz kann keine Verbindung zur ipAdresse herstellen. Hat das was mit dem Portainer zu tun? Kann ich nicht mehr auf die ipAdressen im eigenen Netzwerk des Routers zugreifen?

Ronald
Gast
Ronald

Ich kann das ganze aber auch nach wie vor mit dem Network „host“ einrichten oder? Dann hat die iobroker nach wie vor die IP-Adresse der DS?!

Sven
Gast
Sven

Hallo Andrè, wenn Kennwort und https aktiviere, kann ich vom iPhone und iPad nicht mehr auf den iobroker zugreifen.
https ist in der Adresse natürlich geändert. Es kommt auch der erste Startbildschirm (blaue Balken und Laufleiste ), aber dann bricht der Zugriff ab. Kennst du das Problem?

Vielen Dank

ha-dida
Gast
ha-dida

Hi André, danke für die super Anleitung. Hat mir sehr geholfen.
Ich vermisse in meinem Portainer GUI den ‚RECREATE‘ Tab.
Hast du da eine Idee?

Michael
Gast
Michael

Guten Abend. Erstmal Danke für deine Arbeit und dass du diese mit uns teilst! Tolle Anleitung! Ich habe deine Anleitung soweit befolgt und der Container läuft auch soweit. Zur Info, ich bin von der V2 auf die V3 umgestiegen. Ich habe da bloß ein kleines Problem welches ich nicht gelöst bekomme. Ich komme einfach nicht in den Admin Bereich. Sobald ich die IP:8081 eingebe, sagt mir mein Browser dass die Seite nicht erreichbar ist. Über IP:8082 bekomme ich eine Seite angezeigt. Habe auf meiner DS bereits die Firewall überprüft bzw. mal deaktiviert….ohne Ergebnis. Mein „alter“ V2 Container zeigt das gleiche… Mehr lesen »

Surfer2010
Gast
Surfer2010

Wie kann ich dieses Image über ein LetsEncrypt Image (https://github.com/linuxserver/docker-letsencrypt) erreichen über proxy conf.
Ich habe es geschafft per iobroker.mydomain.com die Admin Oberfläche zu erreichen, aber VIS funktioniert nicht.
vis.mydomain.com wäre genauso ok wie alles andere, mir egal, solange es geht.
Außerdem würde ich gerne von extern auf MQTT zugreifen können?!
DANKE 🙂 ansonsten tolles Image!

Robert
Gast
Robert

Hi André, danke erst mal für die wiedermals tolle Anleitung, habe mir als die erste raus kam extra eine Synology DS gekauft um das ganze nutzen zu können einfach klasse !!!!! Ich würde gerne umsteigen auf die Version 3, leider bleibe ich bei einem Punkt bis jetzt stecken. Ich habe mir einen SSH Zugang eingerichtet und das klappt auch, aber bei mir steht das bei eth0 :-/ die DS ist eine RS818+ eth0 Link encap:Ethernet HWaddr 00:11:32:97:35:05 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:874949 errors:0 dropped:0 overruns:0 frame:0 TX packets:533916 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:458624634 (437.3… Mehr lesen »

Andreas
Gast
Andreas

Vielen Dank für die Anleitung, habe diese befolgt und mir ein Netzwerk per Portainer mit /29, damit ich 6 IPs habe. Habe auch plex, unifi und iobroker als eigene IP für deren Container eingerichtet. Habe so wieder etwas dzu gelernt. Jetzt hätte ich aber auch noch gerne Port 80 für die IP meines ioBroker eingerichtet, da ich diesen Port gerne verwenden würde für Node Red mit dem Flo Amazon echo Hub. Damit könnte ich Alexa local ablösen und meinen echo dot 2 abbauen, da Amazon echo hub auf port 80 lauscht für Generation 3 der Echos. Ist dies möglich Port… Mehr lesen »