NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Kurzer aber wichtiger Hinweis für alle Synology-Docker-ioBroker-Benutzer:
Ich bin gerade wie wild am Testen für eine neue Stable-Version die auch auf anderen Systemen (bei mir eine VM mit Debian und Docker CE) wunderbar läuft.
Es ist mir allerdings bisher nicht gelungen die neue Container Version auf der Synology im "Host-Modus" zum Laufen zu bringen. Vermutlich liegt der Auslöser in der Verwendung des neuen ioBroker-Installationsscripts. Hier hat sich einiges getan und wie es ausschaut hat Docker auf der DiskStation ein Problem mit der Verwendung von sudo. Da es aber auf meiner Debian-VM tadellos funktioniert, gehe ich mal davon aus, dass das ein Problem von Docker auf der Synology ist…
Wie auch immer. Ich werde mich wohl vom Host-Modus verabschieden und dafür in einer neueren Version meiner Anleitung sowohl auf den Bridge-Modus als auch auf eine Lösung mit macvlan (eigene IP für den Container) eingehen. Außerdem forciere ich aktuell das Thema Portainer und die Möglichkeit mit Templates zu arbeiten um das erstellen eines ioB Containers noch einfacher zu machen...
Für Ideen und Anregungen bin ich immer offen.
MfG,
André
-
Entweder du versucht mal https://forum.iobroker.net/viewtopic.php?f=17&t=5089&start=560#p204743 oder du schaust dir mal den Befehl "iobroker setup custom" http://www.iobroker.net/docu/?page_id=3068&lang=de an.
-
Hallo Michael,
danke für Deine Hilfe!!!!
Ich hab jetzt Dein Tutorial soweit durchgearbeitet, aber diese Mulithost-Geschichte bekomme ich nicht hin. Ich verlier da gerade die Nerven! Dachte eigentlich es sei einfach die ioBroker Installation vom Pi auf Synology umziehen zu lassen. Dem ist aktuell wohl noch nicht so. Für mich als ambitioniertem Laien leider zu schwer. Total schade. Mal sehen vielleicht bring ich morgen mehr Geduld mit…
-
Naja, Multihost brauchst du ja nur bei mehreren Geräten die du quasi verknüpfen willst. Wenn es nur auf der Syno laufen soll also nicht relevant.
-
Was ich nicht verstehe, warum ich redis und mysql überhaupt brauche? (wahrscheinlich dumme Frage, aber was solls…) Auf meinem Pi lief ioBroker doch auch so. Wieso kann er das nicht im Container?
-
Wenn du nach meiner Anleitung gehst ist redis mit dabei, als eigener Container. Du brauchst die Datenbanken nicht unbedingt, aber die Geschwindigkeit ist höher als in Dateien zu schreiben und vermutlich wird auch die Festplatte weniger belastet (reine Vermutung).
-
Kurzer aber wichtiger Hinweis für alle Synology-Docker-ioBroker-Benutzer:
Ich bin gerade wie wild am Testen für eine neue Stable-Version die auch auf anderen Systemen (bei mir eine VM mit Debian und Docker CE) wunderbar läuft.
Es ist mir allerdings bisher nicht gelungen die neue Container Version auf der Synology im "Host-Modus" zum Laufen zu bringen. Vermutlich liegt der Auslöser in der Verwendung des neuen ioBroker-Installationsscripts. Hier hat sich einiges getan und wie es ausschaut hat Docker auf der DiskStation ein Problem mit der Verwendung von sudo. Da es aber auf meiner Debian-VM tadellos funktioniert, gehe ich mal davon aus, dass das ein Problem von Docker auf der Synology ist…
Wie auch immer. Ich werde mich wohl vom Host-Modus verabschieden und dafür in einer neueren Version meiner Anleitung sowohl auf den Bridge-Modus als auch auf eine Lösung mit macvlan (eigene IP für den Container) eingehen. Außerdem forciere ich aktuell das Thema Portainer und die Möglichkeit mit Templates zu arbeiten um das erstellen eines ioB Containers noch einfacher zu machen...
Für Ideen und Anregungen bin ich immer offen.
MfG,
André `
Hört sich gut an. Ich hoffe Du kennst eine einfache Möglichkeit ein MACVLAN auf der Synology anzulegen. Ich habe es in einem der vorherigen Posts einmal beschrieben wie es geht, aber es ist nicht ganz ohne. Gerade für Benutzer mit wenig Unix und Netzwerkkenntnisse.
Wenn Du jemanden zum Testen benötigst, melde Dich bei mir.
Vg
Stübi
-
Was ich nicht verstehe, warum ich redis und mysql überhaupt brauche? (wahrscheinlich dumme Frage, aber was solls…) Auf meinem Pi lief ioBroker doch auch so. Wieso kann er das nicht im Container? `
Du kannst natürlich im ioBroker Docker Container auch noch redis und mysql installieren (würde ich aber nicht tun). Wenn Du gerne redis und mysql nutzen möchtest, würde ich es in separaten Docker Containern laufen lassen.
Wie hast Du Denn Deine alte Rapsi Umgebung in den Docker Container migriert?
VG
-
Bin nach der (tollen!) Anleitung von André vorgegangen. Dann kam ich nicht weiter.
@dan11hh:Ich NOOB hab folgendes Problem:
Nach root@ioBroker:/opt/iobroker# iobroker host this
bekomme ich immer folgende Fehlermeldung
No connection to states 127.0.0.1:6379[redis]
Kann mir jemand helfen? Danke! `
-
@tstueben:Hört sich gut an. Ich hoffe Du kennst eine einfache Möglichkeit ein MACVLAN auf der Synology anzulegen. Ich habe es in einem der vorherigen Posts einmal beschrieben wie es geht, aber es ist nicht ganz ohne. Gerade für Benutzer mit wenig Unix und Netzwerkkenntnisse.
Wenn Du jemanden zum Testen benötigst, melde Dich bei mir.
Vg
Stübi `
Hallo Stübi,
die Möglichkeit gibt es. Sofern man Portainer als Docker Weboberfläche benutzt. Allerdings habe ich auch schon festgestellt, dass auf der DS einige Dinge in Docker anders laufen als auf anderen Systemen…
Sobald ich einen ersten Entwurf habe, werde ich zum Testen aufrufen... Das Beta-Image ist schon vorbereitet und läuft schon...
MfG,
André
Gesendet von unterwegs...
-
Bin nach der (tollen!) Anleitung von André vorgegangen. Dann kam ich nicht weiter.
@dan11hh:Ich NOOB hab folgendes Problem:
Nach root@ioBroker:/opt/iobroker# iobroker host this
bekomme ich immer folgende Fehlermeldung
No connection to states 127.0.0.1:6379[redis]
Kann mir jemand helfen? Danke!
Wenn du states db und object db auf file stellst sollte iob eigentlich wieder starten.
Bei Interesse kannst du später Immer noch auf redis wechseln...
BTW, hast du das hier gesehen?
https://buanet.de/2018/08/mehr-performa ... states-db/
MfG,
André
Gesendet von unterwegs...
-
@tstueben:Hört sich gut an. Ich hoffe Du kennst eine einfache Möglichkeit ein MACVLAN auf der Synology anzulegen. Ich habe es in einem der vorherigen Posts einmal beschrieben wie es geht, aber es ist nicht ganz ohne. Gerade für Benutzer mit wenig Unix und Netzwerkkenntnisse.
Wenn Du jemanden zum Testen benötigst, melde Dich bei mir.
Vg
Stübi `
Hallo Stübi,
die Möglichkeit gibt es. Sofern man Portainer als Docker Weboberfläche benutzt. Allerdings habe ich auch schon festgestellt, dass auf der DS einige Dinge in Docker anders laufen als auf anderen Systemen…
Sobald ich einen ersten Entwurf habe, werde ich zum Testen aufrufen... Das Beta-Image ist schon vorbereitet und läuft schon...
MfG,
André
Gesendet von unterwegs... `
Dann werde ich am Wochenende einmal Portainer installieren. Ich bin gespannt wie das aussieht und was es kann.
Ich hoffe der Composer wird auch unterstützt. Den nutze ich um deinen ioBroker Container für meine Bedürfnisse anzupassen und ich kann auf Knopfdruck eine neue ioBroker Umgebung mit seperatem Redis und Asterisk Container anlegen
VG
Stübi
Gesendet von iPhone mit Tapatalk
-
@tstueben:Dann werde ich am Wochenende einmal Portainer installieren. Ich bin gespannt wie das aussieht und was es kann.
Ich hoffe der Composer wird auch unterstützt. Den nutze ich um deinen ioBroker Container für meine Bedürfnisse anzupassen und ich kann auf Knopfdruck eine neue ioBroker Umgebung mit seperatem Redis und Asterisk Container anlegen
VG
Stübi `
Genau das ist das Ziel. Iobroker mit einem Mausklick. Docker compose funktioniert. Heißt bei Portainer "Template" bzw. "Stack Template". Ebenso einfach ist das Anlegen von Macvlan…
MfG,
André
Gesendet von unterwegs...
-
…
Wie auch immer. Ich werde mich wohl vom Host-Modus verabschieden und dafür in einer neueren Version meiner Anleitung sowohl auf den Bridge-Modus als auch auf eine Lösung mit macvlan (eigene IP für den Container) eingehen. Außerdem forciere ich aktuell das Thema Portainer und die Möglichkeit mit Templates zu arbeiten um das erstellen eines ioB Containers noch einfacher zu machen...
--- `
André, cooler Tipp mit Portainer. Echt klasse, endlich eine anständige Docker Admin auf der Synology !!
-
Hallo Christian,
ich vermute mal, dass dein Container immer wieder beendet wird. Dafür habe ich im beta einen Fix gebastelt. Eigentlich war mein Container ja nur für Docker auf Synology DSM gedacht. Da tritt der Fehler nicht auf.
Andere Docker Installationen beenden hingegen Container in denen kein Prozess im Vordergrund läuft automatisch. Um dem entgegen zu wirken habe ich das hier ins Startschritt eingebaut:
https://github.com/buanet/docker-iobrok … 8770caeeef
Vielleicht hilft das auch bei dir.
Lass alles per Docker compose up -d erstellen.
MfG,
André `
Habe das gleiche Problem habe es aber nicht verstanden , was ich machen muss damit IoBroker startet.
/opt/scripts/iobroker_startup.sh: 31: /opt/scripts/iobroker_startup.sh: cannot create /opt/scripts/docker_iobroker_log.txt: Permission denied
-
Hallo André,
das war des Rätsels Lösung! Ich weiß nicht warum mir das nicht sofort aufgefallen ist. Das ein Container beendet wird wenn kein Prozess im Vordergrund läuft ist meines Wissens Standard. Zumindest hat das in der Arbeit der Docker Consultant behauptet.
P,S,; Hab dir mal noch ne PN geschickt.
Gruß
Christian `
Habe das gleiche Problem mein IoBroker startet nicht … Meine Fehlermeldung /opt/scripts/iobroker_startup.sh: 31: /opt/scripts/iobroker_startup.sh: cannot create /opt/scripts/docker_iobroker_log.txt: Permission denied
Lass alles per docker compose up -d erstellen.
iobroker:
restart: always
build: iobroker
privileged: true
stdin_open: true
tty: true
depends_on:
- fhem
ports:
#- "1880:1880" #node-red
#- "1883:1883" #mqtt
-
"2001:2001" #homematic
-
"8081:8081" #iobroker admin
-
"8282:8282" #flot
-
"8088:8088" #terminal
-
"8284:8284" #socketIO
-
"8123:8123" #homekit
-
"50005:50005" #Multihost
-
"9000:9000" #Multihost
#Multihost
volumes:
-
./iobroker:/opt/iobroker
-
./iobroker/scripts:/opt/scripts
hostname: iobroker
image: buanet/iobroker
-
Hi Shwowak,
dein Probkem ist ein anderes, der Container hat angeblich keine Schreibrechte im Ordner /opt/scripts (Pfad im Container) bzw. auf deiner Synology im Ordner /iobroker/scripts.
Folgender Abschnitt ist interessant:
volumes:
-
./iobroker:/opt/iobroker
-
./iobroker/scripts:/opt/scripts
Was passiert denn wenn du den zweiten Bindmount weglässt? Also die Zeile ./iobroker/scripts:/opt/scripts mal entfernen und dann testen.
Gruß
Christian
-
-
Vielen Dank für deine schnelle Hilfe.
Habe es mal geteste. Fehlermeldung ist weg.
Starting ioBroker…
Starting ioBroker done...
Aber kann nicht auf 192... :8081 zugreifen. Die Website ist nicht erreichbar Die Webseite unter http://192.168.200.84:8081/
-
Hallo,
erst mal danke für deine tolle Anleitung und die Mühe die du da rein steckst
Ich habe versucht dein Image zum laufen zu bekommen (auf einem Server - keine Synology) aber es klappt einfach nicht.
hier der log:
Startupscript running... Directory /opt/iobroker is empty! Restoring... Restoring done... First run preparation! Used Hostname: 8d71294e4a12 Renaming ioBroker... /opt/scripts/iobroker_startup.sh: 19: /opt/scripts/iobroker_startup.sh: iobroker: Permission denied First run preparation done... Initializing Avahi-Daemon... Restarting... Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon. Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon. Initializing Avahi-Daemon done... Starting ioBroker... Starting ioBroker done...
Soweit sieht es eigentlich gut aus … aber es ist nicht erreichbar.
ich habe /opt/iobroker/ als Volume auf mein lokales System gemappt
Network Mode habe ich schon alles versucht von Bridge über Host ... klappt einfach nicht
wäre klasse wenn mir jemand helfen kann?!
P.S. wie kann ich schon bei starten des Containers sicherstellen dass ich die ioBroker WebOberfläche erreiche? das System läuft headless.
P.P.S. ich nutze dein Image mit dem Tag BETA (da das ja das script dabei hat, mit latest hatte sich der container in dauerschleife alle 11 Sek. neugestartet)
-
Hallo,
aktuell baue ich sehr viel um. Kann also durchaus passieren, dass mein beta mal broken ist…
Laut deinem Log gibt es Probleme beim rename. Irgendwas passt da auch mit den Berechtigungen nicht. Dein hostname sieht auch komisch aus...
Ich werde gleich mal mein beta build anstoßen. Vielleicht klappt es mit der Version mit den aktuellsten Änderungen...
Versuch mal in ner Stunde nochmal..
Alternative: latest und beim Starten tail - f /dev/null ausführen lassen... Dann startet der Container nicht immer neu...
MfG,
André
Gesendet von unterwegs...