NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
So, habe jetzt noch einmal neu gestartet.
Der Container läuft an.
Unter Prozesse steht alles auf Null.
iObroker läuft also nicht an.
-
Jetzt habe ich über Terminal
cd /opt/iobroker
iobroker start
eingegeben.
Dann läuft iOBroker an.
Komisch?!
-
Mhh, selbes fehlerbild wenn du den Container manuell stoppst und startest?
MfG, Andre
Gesendet von Unterwegs mit Tapatalk
-
Wenn ich danach wieder stoppe und starte, dann läuft es wieder.
Alle Prozesse werden gestartet.
Fehler tritt nur bei Neustart der Synology auf.
-
Habe jetzt ein paar Mal probiert.
Es geht jeder zweite Neustart in die Hosen.
Warum auch immer?
-
Jetzt ist ein neues Problem aufgetreten.
Bisher hatte ich ein Script für meine Ip-Kamera.
In dem Script ist ein Verweis auf den Speicherpfad:
dest_path = '/volume1/surveillance/Vorgarten/image/';
Hat bisher immer funktioniert.
Jetzt im Docker bekomme ich folgende Meldung:
Fehler beim Bild speichern: Error: ENOENT: no such file or directory, open '/surveillance/Vorgarten/image/BildEingang.jpeg
Muss ich den Pfad jetzt anders schreiben?
Oder im Docker noch etwas einstellen?
-
Das wird mit dem Pfad nicht gehen, weil iobroker jetzt ja im Container läuft und ein eigenes Filesystem besitzt. Du kannst den Pfad aber sicher in den Container einhängen. So wie schon den iobroker Ordner. Dann noch den Pfad im Script anpassen und fertig. Denke ich…
MfG, Andre
Gesendet von Unterwegs mit Tapatalk
-
Hallo,
mit den Start Problemen von iobroker war ich.
Ich war in den letzten Wochen Privat sehr eingespannt, wollte mich diesbezüglich eigentlich schon ehr wieder Bemerkbar machen…aber so ist das Leben
Also ich habe es weiterhin, das nach dem morgendlichen Aufwachen der Synology, iobroker bei mindestens jeden 2. mal nicht anläuft. (Container läuft, Iobroker Prozesse laufen nicht)
Ich muss dann manchmal bis zu 5 mal den Container restarten, bis iobroker läuft.
Das ist nervend rauben, so das ich sogar schon wieder an überlegen war zum Raspberry zurück zu kehren.
Aber mit Andre's Lösung ist es viel komfortabler und iobroker selbst läuft stabiler.
Irgendwie streube ich mich auch, die Synology 24 Stunden durchlaufen zu lassen, wegen Verschleiß.
Vielleicht gibt es noch eine Lösung...
Gruß
Gingo79
-
Das Problem mit dem Pfad zur Surveillance habe ich hinbekommen.
Aber das Problem mit dem Start besteht weiterhin.
Bei jedem zweiten Start.
Dann muss ich über Terminal starten. Da läuft es dann wieder.
-
Hallo,
leider kann ich das Problem bei mir weiterhin nicht nachstellen.
Ihr könnt aber mal folgendes versuchen:
Im Verzeichnis /opt/iobroker (Installationsverzeichnis von ioBroker) gibt es eine Datei startup.sh. Fügt doch zum Testen mal bitte vor die Zeile
/opt/scripts/avahi-start.sh
eine Zeile mit
./iobroker stop
ein. Komplett sollte die Datei dann so aussehen:
#!/bin/sh if [ -f .install_host ]; then sed -i "s/$(cat .install_host)/$(hostname)/g" iobroker-data/objects.json rm .install_host fi ./iobroker stop /opt/scripts/avahi-start.sh ./iobroker start cd / /bin/bash
Der hinzugefügte Eintrag sollte bewirken, dass beim Start des Containers, sofern ioBroker schon laufen sollte, dies einmal beendet wird um dann hoffentlich sauber zu starten. Einen anderen Anhaltspunkt habe ich aktuell leider nicht.
MfG,
André
-
Vielen Dank für deine Bemühungen.
Mit dem Eintrag geht dann gar nichts mehr.
Kann damit leben, dass es bei jedem Zweitstart in die Hosen geht.
Wenn man weiss woran es liegt und was man dann machen muss, geht es ja.
-
Vielen Dank für deine Bemühungen.
Mit dem Eintrag geht dann gar nichts mehr.
Kann damit leben, dass es bei jedem Zweitstart in die Hosen geht.
Wenn man weiss woran es liegt und was man dann machen muss, geht es ja. `
OK, das geht also so nicht.Ich glaube dass ioBroker nicht ordnungsgemäß startet liegt daran, dass es im container nicht sauber beendet wurde. Wenn ich das recht deute, dann hängt irgendwo der iobroker.js-controller noch. Das würde auch die meldung erklären:
iobroker controller daemon already running. PID: 65
Hab es gerade mal bei mir getestet. schieb mal den ./iobroker stop hinter den avahi… also so:
#!/bin/sh if [ -f .install_host ]; then sed -i "s/$(cat .install_host)/$(hostname)/g" iobroker-data/objects.json rm .install_host fi /opt/scripts/avahi-start.sh ./iobroker stop ./iobroker start cd / /bin/bash
MfG,
André
-
Hatte es davor eingefügt.
Nun geht nix mehr.
Habe den Dockerordner gelöscht (vorher gesichert).
Den Container gelöscht. Alles neu installiert. Dockerordner zurück kopiert.
Dann gestartet. iOBroker läuft an, sehe auch, dass er alles lädt.
Nur auf der Adminseite unter xxx.xxx.xxx.xx:8081 startet nix von dem was installiert ist.
Was nun?
-
Hatte es davor eingefügt.
Nun geht nix mehr.
Habe den Dockerordner gelöscht (vorher gesichert).
Den Container gelöscht. Alles neu installiert. Dockerordner zurück kopiert.
Dann gestartet. iOBroker läuft an, sehe auch, dass er alles lädt.
Nur auf der Adminseite unter xxx.xxx.xxx.xx:8081 startet nix von dem was installiert ist.
Was nun? `
Hmm,verstehe ich das richtig? Die Prozesse (also auch adpater io.xxxx) laufen im docker an in der admin oberfläche (warscheinlich unter instanzen) nicht? oder kann man den admin gar nicht öffnen? Kannst du Screenshots machen? Kann es mir gerade so nicht vorstellen in welchem status sich dein system befindet.
Das startup.sh script müsste ja in deinem gesicherten ioBroker ordner gewesen sein. ist das wieder zurück geändert?
MfG,
André
-
So sieht es mal aus, jetzt.
Docker
![](<ATTACHMENT )~~[attachment=1]~~Docker.gif[/attachment]" />
Zugriff auf Webseite
![](<ATTACHMENT )~~[attachment=0]~~Webseite.gif[/attachment]" />
-
So sieht es mal aus, jetzt.
Docker
Zugriff auf Webseite
`
Sieht doch eigentlich ganz gut aus. Wie schaut deine Konfig vom Docker aus? Hast du an die Portweiterleitung bzw. das Häkchen für "selbes Netzwerk wie Host verwenden" beim Erstellen des Containers gedacht?Ich denke dass dein ioBroker läuft und schlicht nur nicht erreichbar ist.
MfG,
André
-
Ist ja peinlich !
Natürlich war es das Häkchen bei selbem Netzwerk!
Danke dir!
-
So, nach einem Abend voller Ehrgeiz und ausgiebigem Testen haben ich den Fehler nun auch bei mir nachstellen können.
Ich habe daraufhin verschiedene Sachen ausprobiert und vermute, dass sich beim starten des Containers schlicht die Ereignisse überholen/ gegenseitig behindern.
Um das Ganze zu entzerren habe ich in die startup.sh ein sleep mit 5 Sekunden vor dem Start von ioBroker eingebaut.
Danach habe ich jetzt den Container insgesamt 5 Mal in Folge erfolgreich durchgestartet und keinen Aussetzer gehabt.
Vielleicht kann das ja jemand von den Mitlesern hier mal testen.
Hier der Code meiner startup.sh.
#!/bin/sh if [ -f .install_host ]; then sed -i "s/$(cat .install_host)/$(hostname)/g" iobroker-data/objects.json rm .install_host fi /opt/scripts/avahi-start.sh sleep 5 ./iobroker start cd / /bin/bash
Danke schon mal vorab fürs Testen.
MfG,
André
-
Habe 3x ausprobiert, Container hat ohne Problemen gestartet.
-
Hatte den Vorschlag mit sleep ausprobiert.
Hat nichts geholfen, musste trotzdem manuell starten.
Habe jetzt den iOBroker-Ordner, nicht das opt-Verzeichnis, aus dem Docker-Verzeichnis raus genommen.
Dann den Mountpfad auf das alte Verzeichnis unter admin gelegt.
Seit dem startet es bei jedem Neustart.
Vielleicht habe ich das bei der Installation auch verkehrt gemacht oder falsch gelesen.
Jedenfalls funktioniert es jetzt.