NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo Andre,
nachdem ich die Adapter teilweise mehrmals neu Instaliert habe, läuft iobroker nun den 2. Tag Stabil und ich konnte alle meine Daten retten und wieder neu einspielen.
Selbst das Verzeichniss /opt/iobroker ist jetzt gemountet.
Nach dem morgentlichen Erwachen der DS, läuft iobroker auch sauber an.
Ich denke, das Start Protokoll sieht jetzt auch gut aus, oder?
[....] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemonProcess 40 died: No such process; trying to remove PID file. (/var/run/avahi-daemon//pid) [?25l7[1G[[32m ok [39;49m8[?12l[?25h. [....] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon[?25l7[1G[[32m ok [39;49m8[?12l[?25h. Starting iobroker controller daemon... iobroker controller daemon started. PID: 66
Nochmal ein riesen Dank.
mfg
gingo79 `
Hört sich gut an und sieht auch gut aus. Freut mich dass es geklappt hat.Ich habe übrigens kürzlich auf Guthaben (https://github.com/buanet/docker-iobroker) unter Scripts schonmal ein Backup-Script hinzugefügt, welches jetzt dann auch im Docker Container unter /opt/scripts liegen sollte.
Mit dem Script kann man ein Backup des ioBroker Ordners auf der DS erzeugen. Dazu wird sogar der Container gestoppt und wieder gestartet. Ist zwar noch nicht "offiziell" dokumentiert, funktioniert aber bei mir schon super.
Eine kurze Anleitung zum Script steht direkt in der Datei. Ansonsten muss halt das Script auf die DS kopiert werden, Pfade editieren und dann über den Aufgabenplaner der DS regelmäßig ausgeführt werden. Relativ simpel eigentlich…
Vielleicht ja auch was für dich. Backup ist ja meist der nächste Schritt wenn einmal läuft
MfG, Andre
Gesendet von meinem D5803 mit Tapatalk
-
Hallo Andre,
habe das Script gefunden…aber was meinst Du genau damit, das es unter /opt/script liegen sollte.
Wenn ich das genau verstanden habe, muss ich folgende Schritte machen:
-
im Script die Pfade anpassen
-
auf der DS - Aufgabenplaner - Erstellen - Geplante Aufgabe - Benutzerdefiniertes Script
-
Script einfügen, Zeitplan wöchentlich einstellen
und das war es?
gruß
gingo79
-
-
Hallo,
wie binde ich ein iOBroker Verzeichnis ein, welches schon auf der DS ist?
Bitte für einen erklären, der keine Ahnung von Linux hat.
Ich habe unter File Station ein Docker-Verzeichnis. Da ist aber nichts drin.
Also komme ich nicht auf docker/iobroker.
-
Ich habe jetzt das iobroker-Verzeichnis in das Docker-Verzeichnis kopiert.
Dann habe ich auf das iOBroker-Verzeichnis (bei mir unter /homes/admin/opt/iobroker) gemountet.
Jetzt kommt keine Fehlermeldung mehr.
Sollte jetzt aber nicht auf der Admin-Oberfläche alle schon installierten Pakete angezeigt werden?
Oder muss ich die alle neu installieren?
-
Wenn ich von /docker/iobroker auf opt/iobroker mounte, wo finde ich dann den Ordner opt?
Bekomme die Fehlermeldung "sh: 0: Can't open /opt/iobroker/startup.sh".
Kann mir bitte jemand helfen?
Habe die ganzen Beiträge bestimmt schon 10x gelesen.
Und alles ausprobiert.
Raffe es einfach nicht. Oder ich mache etwas verkehrt?
Hatte mein iOBroker sonst nicht im Docker laufen.
Da mir aber die Synology komplett abgeschmiert war und ich froh war, dass ich mit fremder Hilfe, meine Daten wieder herstellen konnte,
habe ich mir gedacht, dass ich jetzt den Docker ausprobiere.
Meine iOBroker-Ordner sind noch erhalten.
Habe diese Ordner in das docker-Verzeichnis, welches auf Volume2 erstellt wurde, kopiert.
Und dann, wie oben beschrieben, gemountet.
Gruss Superdad
-
Hallo,
dann will ich's mal versuchen
Wenn ich von /docker/iobroker auf opt/iobroker mounte, wo finde ich dann den Ordner opt? `
Der Ordner /opt/iobroker befindet sich dann im Docker Container. Also das Verzeichnis auf der DiskStation (in deinem Fall …/volume2/docker/iobroker) beinhaltet die ioBroker Installation, welche im Docker Container unter dem Pfad /opt/iobroker/ zur Verfügung steht.Wenn du im Terminal des Docker Containers einmal folgendes eingibst:
cd /opt/iobroker ls
Dann sollte das in etwa so aussehen:
Dort siehst du dann warscheinlich auch, dass dir die Datei startup.sh fehlt. Was uns dazu führt…Bekomme die Fehlermeldung "sh: 0: Can't open /opt/iobroker/startup.sh". `
Diese Datei wird benötigt, damit ioBroker nach dem Start des Containers startet. Im Normalfall kommt diese Datei mit dem Image aus dem man den Container startet mit. Da du aber deine alte ioBroker-Installation übernimmst, gibt es die Datei dort nicht. Ist aber kein Problem. Du kannst sie dir bei Github ziehen und dann in deinen ioBroker Ordner auf der DS (…/volume2/docker/iobroker) kopieren:
https://github.com/buanet/docker-iobrok … startup.sh
(Von mir aus kannst du auch eine neue Datei mit selben Namen anlegen und nur den Inhalt hinein kopieren…)
Das sollte es schon gewesen sein. Container starten und dann mal schauen ob die Prozesse alle anlaufen...
Viel Erfolg.
MfG,
André
-
Vielen Dank!
Es funktioniert!
Und ich habe nach der startup.sh immer in opt/iobroker geschaut.
Mir ist nicht aufgefallen, dass die in docker/iobroker fehlt!
Kenn mich ebend mit Linux nicht so aus.
Vielen Dank und Gruss
Superdad
-
Hatte heute früh einen Neustart des NAS.
Danach lief der Container nicht automatisch an.
Habe folgende Meldung im Protokoll:
[….] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemonProcess 39 died: No such process; trying to remove PID file. (/var/run/avahi-daemon//pid)
stdout
09:24:35
[?25l7[1G[[32m ok [39;49m8[?12l[?25h.
stdout
09:24:35
[….] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon[?25l7[1G[[32m ok [39;49m8[?12l[?25h.
stdout
09:24:37
iobroker controller daemon already running. PID: 65
Nach einem manuellen Neustart läuft es wieder.
-
Kommando zurück!
Läuft doch nicht an!
-
Hatte heute früh einen Neustart des NAS.
Danach lief der Container nicht automatisch an.
Habe folgende Meldung im Protokoll:
[….] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemonProcess 39 died: No such process; trying to remove PID file. (/var/run/avahi-daemon//pid)
stdout
09:24:35
[?25l7[1G[[32m ok [39;49m8[?12l[?25h.
stdout
09:24:35
[….] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon[?25l7[1G[[32m ok [39;49m8[?12l[?25h.
stdout
09:24:37
iobroker controller daemon already running. PID: 65
Nach einem manuellen Neustart läuft es wieder. `
Die Logeinträge sind ok, normaler Start. Irgendjemand hatte schon mal das Problem mit dem Starten. Bei mir tritt das nicht auf…Läuft denn der Container nach dem Start nicht an, oder läuft zwar der Container, nicht aber iobroker? Wenn der Container nicht startet, dann ist das ein Docker-Problem.
Dann wäre eine Idee ihn nach dem restart der DS zur Sicherheit nochmal per Script im Aufgabenplaner an zu schubsen. Müsste ich aber selbst erst testen...
MfG, Andre
Gesendet von Unterwegs mit Tapatalk
-
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é