NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Ich habe mittlerweilen die "Advanced" Variant probiert und einen Ordner der DS in den Container gemountet.
Schaut aufs Erste sehr gut aus!
Ich bin dabei allerdings einen etwas anderen Weg gegangen:
Hab den Container gestoppt, dann das bereits vorbereitete Verzeichnis (/docker/iobroker) auf der DS auf /transfer/ in den Container gemountet.
dann den Container wieder gestartet, im Terminal iobroker gestoppt und das Verzeichnis /opt/iobroker/ in den Ordner /transfer/ kopiert.
dann wieder Container stoppen,
nun richtig mounten - also /docker/iobroker auf /opt/iobroker/.
Container wieder starten.
Fertig. `
Kann man sicherlich so machen. Auch mit dem Midnightcommander. Wie immer gibt es natürlich mehrere Wege das Ziel zu erreichen. Wichtig ist: Die Daten des ioBrooker-Ordners, welchen das Image mitbringt, müssen gesichert werden und nach dem korrekten mounten wieder zurück gespielt werden. Auf welchem Wege ist dabei eigentlich egal…Eine Frage beschäftigt mich aber noch? Was ist mit den ursprünglichen Dateien im Ordner /opt/iobroker/ passiert - der mount-Befehl hat offenbar Vorrang!? `
Mhh, da habe ich noch nicht drüber nachgedacht. Da man aber im Linux wohl nicht in ein volles Verzeichnis mounten kann, schätze ich mal, dass beim Mounten das Verzeichnis geleert wird…Ich habe heute Abend vor noch ein paar Tests mit meinem ioBroker Testcontainer zu machen. Vielleicht schaffe ich es meine Linux-Befehle für das Sichern und Umkopieren mal sauber zu dokumentieren. So kompliziert ist das über die Kommandozeile nämlich nicht. Meiner Meinung nach auch nicht komplizierter als bei DOS....
MfG,
André
-
So, habe noch ein bisschen was getestet.
Zum Thema mounten habe ich herausgefunden, dass die Daten, die vor dem Mounten des /opt/iobroker/ in selbigen Ordner waren, erhalten bleiben. Das gemountete Verzeichnis blendet sich einfach nur darüber. Entfernt man die Mount-Einstellung im Docker, sind die alten Daten wieder verfügbar.
Zum Thema Vorgehensweise zum Anlegen eines gemounteten ioBroker-Verzeichnisses habe ich auch nochmal eine vereinfachte Vorgehensweise ausprobiert um den ioBroker-Ordner auf die DiskStation zu bekommen. Ich werde bei nächster Gelegenheit die Anleitung entsprechend abändern.
Außerdem habe ich heute endlich mal das Image-Update testen können. Da das Image jeden Tag automatisch neu erstellt wird, können darüber auch ganz einfach die Linux-Paketupdates abgehandelt werden. Ganz ohne Kommandozeilenkenntnisse. Voraussetzung ist das Arbeiten mit einem gemounteten Verzeichnis. In diesem Fall kann man einfach den alten ioBroker-Container löschen, das Image neu vom Docker-Hub herunter laden und einen neuen Container daraus starten. Auch dieses Vorgehen werde ich bei nächster Gelegenheit mit in die Anleitung aufnehmen.
MfG,
André
-
Vielen Dank für diese tolle Anleitung!
Hat Prima funktioniert und läuft, nur meine Synology ist Nachts immer aus (Energiezeitplan) und nach dem Morgentlichen Start läuft leider ioBroker nicht mehr mit an.
Habe schon versucht über den Aufgabenplaner den Auto Start zu realisieren, das haut leider nicht hin, muss mich jedes mal wieder einloggen und manuell starten.
Hat jemand eine Idee?
Gruß
gingo79
-
Hallo,
ich verstehe es nicht,
habe noch nicht viel mit der IoBroker gemacht, wollte jetzt mit Alexa starten.
Jetzt sind auf einmal alle Adapter weg.
Dokker Container nochmal neu aufgesetzt und gestartet, weiterhin keinerlei Adapter zu sehen
Das einzige was läuft und sichtbar ist lautet : iO Broker Admin.
Wie kann ich weitere Adapter installieren (die nicht sichtbar sind)?
-
Was siehst Du denn im Reiter Adapter?
Kannst Du ein Screenshot posten.
Hier werden die Adapter mit Plus einer Instanz hinzugefügt.
Sonst ist es ggf. ein Problem Deiner Docker-Installation?
-
Hallo,
ich verstehe es nicht,
habe noch nicht viel mit der IoBroker gemacht, wollte jetzt mit Alexa starten.
Jetzt sind auf einmal alle Adapter weg.
Dokker Container nochmal neu aufgesetzt und gestartet, weiterhin keinerlei Adapter zu sehen
Das einzige was läuft und sichtbar ist lautet : iO Broker Admin.
Wie kann ich weitere Adapter installieren (die nicht sichtbar sind)? `
Ich befürchte wir brauchen ein paar mehr Informationen.Arbeitest du mit einem gemounteten Verzeichnis in dem deine iobroker Installation liegt? Oder benutzt du einfach das Docker Image im Standard?
Falls du letzteres nutzt, musst du natürlich das Verzeichnis opt/iobroker zuerst sichern (weg kopieren) bevor du den Container neu erstellst, denn ein neuer Container kommt immer mit einer jungfräulichen iobroker Installation…
Oder werden dir schlicht keine Adapter zur Installation angeboten? Eventuell ist in der Anzeige ein Filter aktiv?
Wie sieht es unter Instanzen aus? Hattest du vorher schon Adapter installiert?
MfG,
Andre
Gesendet von meinem D5803 mit Tapatalk
-
Vielen Dank für diese tolle Anleitung!
Hat Prima funktioniert und läuft, nur meine Synology ist Nachts immer aus (Energiezeitplan) und nach dem Morgentlichen Start läuft leider ioBroker nicht mehr mit an.
Habe schon versucht über den Aufgabenplaner den Auto Start zu realisieren, das haut leider nicht hin, muss mich jedes mal wieder einloggen und manuell starten.
Hat jemand eine Idee?
Gruß
gingo79 `
Läuft denn der Container an oder meinst du in deiner Beschreibung dass du den Container manuell starten musst?In den Einstellungen des Containers gibt es ein Häkchen "Container automatisch neustarten" oder so (kann grad nicht schauen). Ist das gesetzt?
MfG,
Andre
Gesendet von meinem D5803 mit Tapatalk
-
Läuft denn der Container an oder meinst du in deiner Beschreibung dass du den Container manuell starten musst?
In den Einstellungen des Containers gibt es ein Häkchen "Container automatisch neustarten" oder so (kann grad nicht schauen). Ist das gesetzt?
MfG,
Andre
Gesendet von meinem D5803 mit Tapatalk `
Hallo Andre,
wenn ich nach den Morgentlichen Start der Synology unter den Reiter Container schaue, läuft laut Schalterstellung ioBroker, dies tut er aber nicht (vis / Benutzeroberfläche nicht ereichbar und CPU / Ram Auslastung ist bei 0)
Ich kann unter Einstellungen nichts finden, wo ich ein Häkchen setzten kann.
gruß
Gingo79
Edit: Habe die Einstellung gefunden, ja Häkchen ist gesetzt.
-
Hallo Andre,
wenn ich nach den Morgentlichen Start der Synology unter den Reiter Container schaue, läuft laut Schalterstellung ioBroker, dies tut er aber nicht (vis / Benutzeroberfläche nicht ereichbar und CPU / Ram Auslastung ist bei 0)
Ich kann unter Einstellungen nichts finden, wo ich ein Häkchen setzten kann.
gruß
Gingo79
Edit: Habe die Einstellung gefunden, ja Häkchen ist gesetzt. `
Ok, da weiß ich auch nicht mehr so recht weiter. Wenn ich das richtig verstehe, dass musst du manuell immer den Container einmal stoppen und wieder starten, richtig? Sind denn im Fehlerfall irgendwelche Prozesse sichtbar oder zeigt Docker den Container zwar "on" er ist aber in Wirklichkeit komplett ausgeschaltet?
Wie schaut es bei einem normalen Restart des Systems aus? Gleiches Bild wie beim Aufwecken aus dem Standby? Meine DS läuft 24/7, und gerade gestern habe ich ein Update gemacht mit anschließendem Restart… alles ok...Für mich klingt das irgendwie eher wie ein Problem der Docker-App...
Hat sonst jemand solche Erfahrungen gemacht?
MfG,
André
-
Hi Andre,
nach dem normalen Restart der Synology ist es das gleiche.
In ca 1 von 10 fällen startet iobroker nach dem morgendlichen Erwachen an.
Zum Teil muss ich den iobroker Container bis zu 5 x restarten, bis er richtig läuft.
Morgen werde ich mir das mal mit den Prozessen genau anschauen und berichten.
Gruß
Gingo79
-
Hallo Andre,
also, nach dem Erwachen der Synology, ist die CPU Auslastung bei 0% Und RAM wird mit 6 MB angezeigt.
Der Schiebeschalter steht auf ein und es wird Angezeigt… Läuft Up for xxx Mins ( Zeit stimmt mit dem erwachen der Synology überein).
Unter Prozesse findet nichts statt, alle stehen auf 0 CPU Auslastung.
Wie gesagt, bis zu 5 x muss ich dann den Container Restarten, bis ioBroker erfolgreich anläuft.
Ich hoffe Du kannst mir Helfen.
Gruß
Gingo79
-
Unter Prozesse findet nichts statt, alle stehen auf 0 CPU Auslastung.
Wie gesagt, bis zu 5 x muss ich dann den Container Restarten, bis ioBroker erfolgreich anläuft. `
Das habe ich auch, allerdings nur 2 bis 3x, und nur wenn ich Container stoppen muss. Bei Neustart vom Synology habe ich bis jetzt keine Probleme.
-
nachdem der Container gar nicht mehr anlief, Fehler wie oben beschrieben, nur brachte kein Neustart mehr etwas, habe ich Docker deinstalliert und neu aufgesetzt.
Einstellungen wieder importiert, nur der Container startet immer noch nicht.
Ich bekomme die Krise, sind alle Einstellungen inklusive VIS Oberfläche jetzt verloren?
Selbst ein neuer Container mit frischen iobroker läuft nach einen Synology Start nicht sauber an.
Bitte um Hilfe.
Gruß
Gingo79
-
nachdem der Container gar nicht mehr anlief, Fehler wie oben beschrieben, nur brachte kein Neustart mehr etwas, habe ich Docker deinstalliert und neu aufgesetzt.
Einstellungen wieder importiert, nur der Container startet immer noch nicht.
Ich bekomme die Krise, sind alle Einstellungen inklusive VIS Oberfläche jetzt verloren?
Selbst ein neuer Container mit frischen iobroker läuft nach einen Synology Start nicht sauber an.
Bitte um Hilfe.
Gruß
Gingo79 `
Hallo,
das hört sich nicht gut an. Was hast du denn bisher gemacht um den Fehler ein zu grenzen? Man müsste wirklich mal schauen ob es nun am Docker liegt oder an dem Image…
Wie sieht es mit anderen Images aus. Hast du mal eines installiert und geschaut ob das sich normal verhält? Bei mir läuft zum Beispiel parallel noch die HA-Bridge (https://hub.docker.com/r/aptalca/home-a ... on-bridge/). Das könnte man zum Testen nehmen und mal schauen ob dieser Container dann sauber hoch kommt.
Welche Versionen hast du generell im Einsatz? Also DSM und Docker?
Was die Daten angeht, sofern du eine einfache Installation machst, liegen alle Daten innerhalb des Containers im Ordner /opt/iobroker. Diesen gilt es zu sichern und vor einem Löschen des Containers auf die DS zu kopieren (z.B. über eine eingehängtes Verzeichnis). Sonst ist alles was innerhalb des Containers liegt weg.
Wenn man es ganz sicher/ komfortabel haben möchte, empfehle ich die Advanced Schritte aus dem ersten Post. Damit liegen dann die Daten vom ioBroker direkt auf dem Filesystem der DS und werden nur in den Container eingehängt. Dies ermöglicht es dann, einfach einen (alten) Container zu löschen und einen neuen mit dem eingehängten ioBroker-Ordner zu erstellen. Man braucht dann innerhalb des Containers nichts mehr umkopieren oder ähnliches, weil die "Nutzdaten" dann ja auf der DS liegen und der Container darauf zugreift...
MfG,
André
-
Hallo Andre,
ich bin zur Zeit im Osterurlaub, und habe nur beschränkten Zugriff auf mein Heimnetzt und heute spinnt die VPN Verbindung total, Urlaub auf dem Land halt
Andere Images habe ich da nicht laufen, habe Docker erst durch deine Anleitung entdeckt.
Ich hatte die Einstellungen und den Container Inhalt über Export gesichert.
Kann ich diese Sicherung für die Advanced Schritte verwenden?
Diese Sicherung habe ich auch nach der Neuinstallation von Docker wieder Importiert, aber der Container läuft selbst nach x Neustarts nicht an.
Ich glaube im Protokoll stand sowas von, das er die iobroker Start .sh nicht öffnen konnte, müsste ich nochmal genau schauen.
DSM Version ist die aktuelle.
Docker weiß ich nur, das es die Tage mal ein Update gab, weil ich die Hoffnung hatte, das sich die bis zu 5 maligen Neustarts erledigen würde.
Gruß
Gingo79
15.04.17 Edit:
DSM Version: DSM 6.1-15047 Update 2
Docker: 1.11.2-0325
Ist das normal, wenn ich die Einstellungen importiert habe, das mir das unter Abbild als neues Image angezeigt wird?
Mit dem Protokoll und der Start.sh hatte ich falsch im Kopf, an folgendes hapert es wohl irgendwie:
Failed to Start message bus: Failed to bind socket „/var/run/dbus/system_bus_socket“: Address already in use
Was ist jetzt das Problem bzw. der Fehler?
Wie komme ich überhaupt an diesen Pfad dran?
Ich hoffe du kannst damit was anfangen:)
habe mal zum Testen openhab2 eingespielt, paar mal neu restartet, und läuft bisher immer sauber an.
-
Hallo Andre,
ich bin zur Zeit im Osterurlaub, und habe nur beschränkten Zugriff auf mein Heimnetzt und heute spinnt die VPN Verbindung total, Urlaub auf dem Land halt
Andere Images habe ich da nicht laufen, habe Docker erst durch deine Anleitung entdeckt.
Ich hatte die Einstellungen und den Container Inhalt über Export gesichert.
Kann ich diese Sicherung für die Advanced Schritte verwenden? `
Das sollte gehen. In der Theorie etwa so:-
neuen, frischen Container aufsetzen
-
im blanken ioBroker Backup wiederherstellen (ggf. Adapter installieren?)
-
wenn alles läuft, ioBroker stoppen und den gesamten Ordner /opt/iobroker sichern bzw. auf die DS verschieben
-
dann Container stoppen und Ordner einhängen
-
Container starten
@gingo79:
Diese Sicherung habe ich auch nach der Neuinstallation von Docker wieder Importiert, aber der Container läuft selbst nach x Neustarts nicht an.
Ich glaube im Protokoll stand sowas von, das er die iobroker Start .sh nicht öffnen konnte, müsste ich nochmal genau schauen.
DSM Version ist die aktuelle.
Docker weiß ich nur, das es die Tage mal ein Update gab, weil ich die Hoffnung hatte, das sich die bis zu 5 maligen Neustarts erledigen würde.
Gruß
Gingo79
15.04.17 Edit:
DSM Version: DSM 6.1-15047 Update 2
Docker: 1.11.2-0325
Ist das normal, wenn ich die Einstellungen importiert habe, das mir das unter Abbild als neues Image angezeigt wird?
Mit dem Protokoll und der Start.sh hatte ich falsch im Kopf, an folgendes hapert es wohl irgendwie:
Failed to Start message bus: Failed to bind socket „/var/run/dbus/system_bus_socket“: Address already in use `
Klingt für mich nach bereits belegtem Port. Kann es sein, dass irgendwas auf der DS einen ioBroker Standardport bereits belegt? interessannt sind dabei die Ports 8082, 9000 und 9001. Läuft vielleicht ein Logitech Media Server oder OSCAM?
@gingo79:Was ist jetzt das Problem bzw. der Fehler?
Wie komme ich überhaupt an diesen Pfad dran?
Ich hoffe du kannst damit was anfangen:)
habe mal zum Testen openhab2 eingespielt, paar mal neu restartet, und läuft bisher immer sauber an. `
MfG,
André
-
-
Das sollte gehen. In der Theorie etwa so:
-
neuen, frischen Container aufsetzen
-
im blanken ioBroker Backup wiederherstellen (ggf. Adapter installieren?)
-
wenn alles läuft, ioBroker stoppen und den gesamten Ordner /opt/iobroker sichern bzw. auf die DS verschieben
-
dann Container stoppen und Ordner einhängen
-
Container starten `
Hallo Andre,
das kann doch nicht so schwer sein und doch komme ich nicht weiter, wo finde ich denn den Ordner /opt/iobroker und wie klappt das dann mit dem verschieben/sichern?
Klingt für mich nach bereits belegtem Port. Kann es sein, dass irgendwas auf der DS einen ioBroker Standardport bereits belegt? interessannt sind dabei die Ports 8082, 9000 und 9001. Läuft vielleicht ein Logitech Media Server oder OSCAM?
MfG,
André `
Ne beides läuft nicht auf der DS und kann auch nichts anderes finden, was die Ports belegt auf der DS
Gruß
Gingo79
-
-
Hallo André,
Ich habe im frischen Container die Einstellungen importiert, dabei hat er unter Abbild ein neues Image erstellt. Ich hoffe mal das es richtig so ist?
Wenn ich den Starte, kommt folgende Fehlermeldung und der iobroker startet nicht.
rm: cannot remove '/var/run/dbus/pid': No such file or directory
stdout
12:17:00
Failed to start message bus: Failed to bind socket "/var/run/dbus/system_bus_socket": Address already in use
stdout
12:17:00
[….] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon [?25l 7 [1G[ [32m ok [39;49m 8 [?12l [?25h.
stdout
12:17:00
[….] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [?25l 7 [1G[ [31mFAIL [39;49m 8 [?12l [?25h [31mfailed! [39;49m
stdout
12:17:01
iobroker controller daemon already running. PID: 64
Beim Instalieren von Docker auf volume1, hat er automatisch einen unter File Station sichtbaren Ordner "docker" erstellt.
Dieser befindet sich komischer Weise im volume3 und ist leer.
Ich hoffe die Infos helfen etwas weiter.
Danke und Gruß
Gingo79
-
Hallo André,
Ich habe im frischen Container die Einstellungen importiert, dabei hat er unter Abbild ein neues Image erstellt. Ich hoffe mal das es richtig so ist?
Wenn ich den Starte, kommt folgende Fehlermeldung und der iobroker startet nicht.
rm: cannot remove '/var/run/dbus/pid': No such file or directory
stdout
12:17:00
Failed to start message bus: Failed to bind socket "/var/run/dbus/system_bus_socket": Address already in use
stdout
12:17:00
[….] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon [?25l 7 [1G[ [32m ok [39;49m 8 [?12l [?25h.
stdout
12:17:00
[….] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [?25l 7 [1G[ [31mFAIL [39;49m 8 [?12l [?25h [31mfailed! [39;49m
stdout
12:17:01
iobroker controller daemon already running. PID: 64
Beim Instalieren von Docker auf volume1, hat er automatisch einen unter File Station sichtbaren Ordner "docker" erstellt.
Dieser befindet sich komischer Weise im volume3 und ist leer.
Ich hoffe die Infos helfen etwas weiter.
Danke und Gruß
Gingo79 `
OK, ich glaube ich war auf dem falschen Weg… Ich hatte angenommen, dass du ein Backup (Export) über ioBroker gemacht hast (http://www.iobroker.net/docu/?page_id=2380&lang=de, erste Frage).
Wenn ich das jetzt richtig interpretiere, dann hast du aber einen Export über Docker auf der DS gemacht, oder?
Mit welchen Optionen? Nur Containereinstellungen oder auch Inhalt?Nur Einstellungen reicht nicht aus. Darin sind keine ioBroker-Daten, sondern nur die Einstellungen des Docker-Containers selbst, also Ports, eingehängte Ordner usw… Du hättest nach dem Wiederherstellen also eine leere ioBroker Standardinstallation...
Ich habe mir eben übrigens gerade mal das Image über Docker neu gezogen (> Registrierung > Image suche > Download > warten).
Wenn ich daraus dann einen Container starte bekomme ich in der Tat ein ähnliches Log wie du. Irgendetwas mit dem Avahi-Daemon scheint nicht zu stimmen. Aber wie es die letzte Logzeile eigentlich sagt, startet/ läuft iobroker trotzdem. Das ist bei mir auch der Fall.
Was sagt denn ein:
cd /opt/iobroker iobroker status
im Terminal des neu erstellten Docker Containers?
Ich werde mich jetzt mal um den Avahi Daemon kümmern und das Image anpassen.
[EDIT] Ich habe mir das Avahi-Thema einmal angeschaut. Es scheint als könnte man in Docker nur einen Container laufen haben, der den Avahi ausführt. In meinem Test oben, hatte ich einen zweiten Container zum Testen erstellt…
Wie auch immer, ich habe meinen "produktiv"-Container kurzerhand auf das aktuelle Image aktualisiert... Das Log sah nach dem ersten Start so aus:
2017-04-18 07:54:54,stdout,rm: cannot remove '/var/run/dbus/pid': No such file or directory 2017-04-18 07:54:55,stdout,[....] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon[?25l7[1G[[32m ok [39;49m8[?12l[?25h. 2017-04-18 07:54:55,stdout,[....] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon[?25l7[1G[[32m ok [39;49m8[?12l[?25h. 2017-04-18 07:54:56,stdout,Starting iobroker controller daemon... 2017-04-18 07:54:57,stdout,iobroker controller daemon started. PID: 66
Es liefen alle Dienste, inklusive des Avahi, einwandfrei an. Das aktuelle Image ist also ok.
MfG,
André
-
Hallo Andre,
genau, ich habe einen Export über Docker auf der DS gemacht und zwar Containerinhalt und -einstellungen exportieren.
Wenn ich diesen unter Container über Einstellungen Importiere, produziert er mir unter Abbild ein neues Image und beim starten kommt die Meldung, wie ich bereits in meinen vorherigen Post es eingefügt habe.
Wenn ich im Terminal des neu erstellten Containers
cd /opt/iobroker
iobroker Status
einegebe, dann kommt
„iobroker is not running“
Da iobroker ja eh nicht am laufen ist und nicht weiter komme, habe ich ein Backup im Terminal über iobroker mit ./iobroker backup gemacht.
Backup created: /opt/iobroker/backups/2017_04_18-15_39_178_backupiobroker.tar.gz
Hat geklappt, aber wie komme ich jetzt an diese Datei dran bw wie kann ich die verschieben, ich finde sie nirgends und kann ich diese dann irgendwie für das Mounten Benutzen /Advanced Schritte benutzen?
Habe ich so vielleicht noch eine Chance?
Denn das Importieren wie oben klappt ja nicht.
Also wie komme ich auf /opt/iobroker damit ich das sicher kann.
Wenn es geht, bitte für einen Anfänger in kleinen Schritten. Danke
gruß
Gingo79