NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo zusammen,
Ich bin habe Probleme meine Shellys mit Mqtt mit dem Iobroker zu verbinden. Das ganze läuft in Docker auf einem Lenovo ThinkCenter.
Netzwerkseitig hab ich ein Mikrotik hexS im Einsatz der mein Netz in VLAN unterteilt.
Ich vermute eigentlich das es eher was mit dem Mikrotik, als Docker bzw Portainer zu tun hat. Bin aber etwas ratlos wo ich die Infos herbekomme.. -
-
@codierknecht warum? der Iobroker läuft ja auch unter Docker?
-
@grace13
Hier geht's um den Betrieb auf einer Synology.Nichtsdestotrotz muss dein Container im Networkmode 'host' laufen oder in einem MACVLAN. Dann klappts auch mit den Shellys und MQTT.
-
@grace13 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@codierknecht warum? der Iobroker läuft ja auch unter Docker?
Wie @hollywoot schon schrieb, geht es hier um den Betrieb auf Synology.
Und da werden wohl hauptsächlich diejenigen reinschauen, die auch Erfahrung mit Synology haben.Du wirst vermutlich mehr und zielführende Antworten bekommen, wenn Du einen neuen Thread mit passendem Titel eröffnest.
-
Ich versuche gerade äußerst erfolglos, das Image auf einem Debian mit Intel i7 CPU zu starten, was aber nicht funktionieren will - habe schon mehrfach versucht, aus einem leeren Verzeichnis zu starten, einige Dateien werden erstellt, aber es bricht immer bei Schritt 3 ab:
-------------------------------------------------------------------------------- ----- Step 1 of 5: Preparing container ----- -------------------------------------------------------------------------------- Updating Linux packages on first run... Done. Registering maintenance script as command... Done. -------------------------------------------------------------------------------- ----- Step 2 of 5: Detecting ioBroker installation ----- -------------------------------------------------------------------------------- There is no data detected in /opt/iobroker. Restoring initial ioBroker installation... Done. -------------------------------------------------------------------------------- ----- Step 3 of 5: Checking ioBroker installation ----- -------------------------------------------------------------------------------- (Re)setting permissions (This might take a while! Please be patient!)... Done. Fixing "sudo-bug" by replacing sudo with gosu... Done. There was a problem detecting the admin instance of your iobroker. Make sure the ioBroker installation you use has an admin instance or start over with a fresh installation and restore your configuration. For more details see https://docs.buanet.de/iobroker-docker-image/docs/#restore This Script will exit now.
Kann das mit der anderen Architektur zu tun haben? Mit IOBroker kenne ich mich ja ganz gut aus, Docker läuft mit Portainer auch solide.
Dank! -
@bean sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
habe schon mehrfach versucht, aus einem leeren Verzeichnis zu starten,
und ... ohne Mount .
Zeige auch mal den Anfang vom Log !
habe schon mehrfach versucht,
auch einen neuen Container erstellt , mit einem anderen Containernamen
-
@glasfaser
Was meinst du "ohne Mount"? Ich habe ein Verzeichnis am Host erstellt, und dieses in Portainer mit "bind" mit dem "/opt/iobroker" im Container gelinkt(?). Nachdem dort auch Dateien und Verzeichnisse erstellt werden, klappt das ja grundsätzlich.Aber ich bin jetzt weiter gekommen:
Wenn ich den Docker-Container auf der Kommandozeile starte, klappt es, nur aus Portainer heraus nicht - vermutlich irgendeine Rechte-Problematik? Mal gucken... -
@bean sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ich habe ein Verzeichnis am Host erstellt, und dieses in Portainer mit "bind" mit dem "/opt/iobroker" im Container gelinkt(?).
Das meinte ich , quasi ohne diesem ...
Nachdem dort auch Dateien und Verzeichnisse erstellt werden, klappt das ja grundsätzlich.
jetzt geht es ... das verstehe ich jetzt nicht , oben schreibts du
aber es bricht immer bei Schritt 3 ab:
-
@glasfaser said in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Das meinte ich , quasi ohne diesem ...
Nachdem dort auch Dateien und Verzeichnisse erstellt werden, klappt das ja grundsätzlich.
jetzt geht es ... das verstehe ich jetzt nicht , oben schreibts du
aber es bricht immer bei Schritt 3 ab:
Ich versuche es eindeutig zu formulieren:
Also es bricht mit dem Fehler "There was a problem detecting the admin instance of your iobroker." ab, diese Log-File sieht man in Portainer - und der Container läuft auch nicht.
Aber im gemounteten Verzeichnis wurden Dateien erstellt, bevor es zum Abbruch kam.ABER: Das bezieht sich nur auf Portainer! Auf der Linux-Kommandozeile startet der IOBroker-Docker-Container auch mit dem gleichen gemounteten Verzeichnis erfolgreich - dürfte also eher ein Portainer-spezifisches Problem sein.
-
@bean
Wie startest du denn im Portainer? Mit compose/Stack? Wenn ja, hau mal rein hier. -
@hollywoot
Bin mit Portainer noch nicht so richtig vertraut. Derzeit starte die Container einfach manuell unter "Container"/"Add Container" und gebe die notwendigen Infos ein (Netzwerk, Volume). -
@bean
OK, das erklärt es wohl.
Portainer funktioniert nicht wirklich 100%ig auf der Synology.
Versuchs mal Mithilfe von docker-compose. Den Inhalt der compose kannst du im Portainer als "Stack" hinzufügen. -
@bean
im Grunde ist Portainer nur ein GUI, um dir visuell einiges zu erleichtern.
Die Fehlermeldung die Du bekommst, ist ja aus dem Startscript des Docker-Containers, unabhängig vom Portainer, der meckert, dass die Admin-Instanz nicht da ist, also quasi das minimum vom ioBroker, die erste Instanz, warum, kann ich dir nicht sagen.
Aber wir versuchen mal zu helfen.Welchen Befehl gibst Du denn in der Konsole ein, damit der ioBroker erstellt wird?
Du kannst den auch so erstellen und trotzdem dann über den Portainer administrieren, so habe ich meine ersten Container auch gemacht.
Schicker ist natürlich wie @hollywoot meint mit compose/stack, dann kannst auch einfach aus Portainer updaten, so muss immer zurück in die Konsole, wenn updaten willst.Also, wenn den jetzt so erstellt hast, solltest ihn auch im Portainer sehen, ich habe meinen ioBroker nämlich auch noch klassisch nach Anleitung von Buanet über die Konsole erstellt, sehe ihn aber im Portainer..
Eventuell hast Du den Mount falsch eingerichtet, werden da Daten geschrieben?
Bei mir sieht's so aus (Synology NAS):
-
@hollywoot sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Portainer funktioniert nicht wirklich 100%ig auf der Synology.
Höre ich zum erstem mal !?
Er hat keine Synology ..
@bean sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
das Image auf einem Debian mit Intel i7 CPU zu starten,
-
@hollywoot sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Den Inhalt der compose kannst du im Portainer als "Stack" hinzufügen.
Kannst Du bitte mal Dein Stack hier posten?
Wie ich oben schrieb, hab ich mein ioBroker auch noch klassisch von der Konsole erstellt, aber für die Zukunft würde ich auch das umstellen in Stack, ist ja dann doch einfacher -
@glasfaser
Zum ersten Mal? Ich konnte noch nie über Portainer zB meine ENV ändern/ergänzen. Funktioniert einfach nicht. Drückst auf Speichern und er ignoriert dich schlichtweg.Wenn er keine Synology hat, was sucht er dann hier
-
@tugsi
Such ich morgen mal raus und posten es hier.
Ich bin jetzt quasi schon im BettEdit:
@tugsi Hier mal meine Compose (IP-Adressen frei abgeändert/erfunden):version: '2.4' services: ioBroker: image: buanet/iobroker:latest container_name: ioBroker hostname: iobroker dns: - "192.168.0.1" - "1.1.1.1" dns_search: "lan" ports: - "8081:8081" - "8082:8082" - "8087:8087" - "9000:9000" - "9001:9001" environment: - TZ=Europe/Berlin - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - LANG=de_DE.UTF-8 - DEBIAN_FRONTEND=teletype - LANGUAGE=de_DE:de - LC_ALL=de_DE.UTF-8 # - SETGID=1000 # - SETUID=1000 # - PACKAGES=vim ssh - IOB_MULTIHOST=master - IOB_OBJECTSDB_HOST=0.0.0.0 - IOB_OBJECTSDB_PORT=9001 - IOB_OBJECTSDB_TYPE=jsonl - IOB_STATESDB_HOST=0.0.0.0 - IOB_STATESDB_PORT=9000 - IOB_STATESDB_TYPE=jsonl volumes: - /volume1/docker/ioBroker:/opt/iobroker networks: LAN: ipv4_address: 192.168.0.150 iobroker-db_default: restart: always networks: LAN: name: LAN driver: macvlan driver_opts: parent: bond0 ipam: config: - subnet: 192.168.0.0/24 ip_range: 192.168.0.200/29 gateway: 192.168.0.1 iobroker-db_default: name: iobroker-db_default driver: bridge ipam: config: - subnet: 172.21.0.0/16 gateway: 172.21.0.1
Der Container läuft in einem MACVLAN.
Außerdem im Multihost-Betrieb. Zum Kopieren der Compose und erfolgreichem Starten sollte man diese Dinge beachten und ggf. anpassen.
Dasiobroker-db_default
-Netz habe ich, weil ich zusätzlich einen MySQL/InfluxDB-Container separat laufen habe. Auch da müsste man die IP-Adressen anpassen oder das Netzwerk komplett entfernen. -
Hallo @andre , Forum,
habe Docker auf meiner DS220+ laufen, neueste Firmware.
Zusätzlich habe ich nach deinem HowTo Portainer installiert und ein neues MACVLAN eingerichtet.
Mit diesem Script erstelle ich den Container:docker run -d --name=ioBroker \ --network ioBroker \ -p 502:502 \ -p 1502:1502 \ -p 1880:1880 \ -p 1883:1883 \ -p 2001:2001 \ -p 8081:8081 \ -p 8282:8282 \ -p 8088:8088 \ -p 8284:8284 \ -v /volume1/docker/iobroker:/opt/iobroker \ --restart always \ buanet/iobroker:latest
Frage 1: ist es korrekt, dass im Docker der neue Container NICHT mehr angezeigt wird sondern nur noch über Portainer?
Frage 2: Als ich noch das Bridge Network verwendet habe, konnte sich ioBroker direkt zur Influxdb im anderen Container verbinden. Das geht über das MACVLAN jetzt nicht mehr:
influxdb.0 2022-12-30 17:25:42.927 error Error: connect EHOSTUNREACH 192.168.178.181:8087 influxdb.0 2022-12-30 17:25:39.916 info Influx DB Version used: 1.x influxdb.0 2022-12-30 17:25:39.915 info Connecting http://nas.fritz.box:8087/ ...
Muss die jetzt auch mit in das MACVLAN?
Danke
Henri -
@hollywoot sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Der Container läuft in einem MACVLAN.
Außerdem im Multihost-Betrieb. Zum Kopieren der Compose und erfolgreichem Starten sollte man diese Dinge beachten und ggf. anpassen.
Das iobroker-db_default-Netz habe ich, weil ich zusätzlich einen MySQL/InfluxDB-Container separat laufen habe. Auch da müsste man die IP-Adressen anpassen oder das Netzwerk komplett entfernen.Danke für die Vorlage.
Bei mir ist auch MACVLAN, Multihost etc drin
Aber ich schaue mir das mal an und werde mir das mal als Vorlage zum umstellen auf Stack/Compose annehmen.