NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@leachim sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Thema : Buanet/iobroker:v5.1.0 auf Raspi 4 mit 8 GB und HDD und USB Stick:
Auch eine Möglichkeit. zu Nutzung des Docker Images. Wäre vermutlich in einem eigene Thread besser aufgehoben, aber das müssen die Foren Admins entscheiden.
Interessant wären noch deine Beweggründe. Ubuntu Server auf dem Raspberry habe ich bisher noch gar nicht auf dem Zettel gehabt.
Ich arbeite aktuell an einem Raspbian Image mit vorinstalliertem Docker. Soll in einem weiteren Tutorial dann mal die Grundlage für einen ioBroker Slave werden.
Danke fürs Sharen.MfG,
André -
Hallo,
hier ein mein Log nach der Installation, ------------------------------------------------------------, --------------- 2021-04-13 07:33:05 ---------------, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Welcome to your ioBroker-container! -----, ----- Startupscript is now running. -----, ----- Please be patient! -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Debugging information -----, ----- -----, ----- System -----, ----- arch: x86_64 -----, ----- -----, ----- Versions -----, ----- image: v5.1.0 -----, ----- node: v12.22.1 -----, ----- npm: 6.14.12 -----, ----- -----, ----- ENV -----, ----- AVAHI: false -----, ----- PACKAGES: nano -----, ----- SETGID: 1000 -----, ----- SETUID: 1000 -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Step 1 of 5: Preparing container -----, ------------------------------------------------------------, , Installing additional packages is set by ENV., The following packages will be installed: nano..., debconf: unable to initialize frontend: Dialog, debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.), debconf: falling back to frontend: Readline, debconf: unable to initialize frontend: Readline, debconf: (This frontend requires a controlling tty.), debconf: falling back to frontend: Teletype, dpkg-preconfigure: unable to re-open stdin: , Vormals nicht ausgewähltes Paket nano wird gewählt. , (Lese Datenbank ... (Lese Datenbank ... 5% (Lese Datenbank ... 10% (Lese Datenbank ... 15% (Lese Datenbank ... 20% (Lese Datenbank ... 25% (Lese Datenbank ... 30% (Lese Datenbank ... 35% (Lese Datenbank ... 40% (Lese Datenbank ... 45% (Lese Datenbank ... 50% (Lese Datenbank ... 55% (Lese Datenbank ... 60% (Lese Datenbank ... 65% (Lese Datenbank ... 70% (Lese Datenbank ... 75% (Lese Datenbank ... 80% (Lese Datenbank ... 85% (Lese Datenbank ... 90% (Lese Datenbank ... 95% (Lese Datenbank ... 100% (Lese Datenbank ... 28860 Dateien und Verzeichnisse sind derzeit installiert.) , Vorbereitung zum Entpacken von .../archives/nano_3.2-3_amd64.deb ... , Entpacken von nano (3.2-3) ... , nano (3.2-3) wird eingerichtet ... , update-alternatives: /bin/nano wird verwendet, um /usr/bin/editor (editor) im automatischen Modus bereitzustellen , update-alternatives: /bin/nano wird verwendet, um /usr/bin/pico (pico) im automatischen Modus bereitzustellen , Done., , Registering maintenance script as command., Done., , ------------------------------------------------------------, ----- Step 2 of 5: Detecting ioBroker installation -----, ------------------------------------------------------------, , Existing installation of ioBroker detected in /opt/iobroker., , ------------------------------------------------------------, ----- Step 3 of 5: Checking ioBroker installation -----, ------------------------------------------------------------, , (Re)Setting folder permissions (This might take a while! Please be patient!)..., Done., , Fixing "sudo-bug" by replacing sudo in iobroker with gosu..., Done., , Hostname in ioBroker does not match the hostname of this container., Updating hostname to iobrokernas..., Host "Iobroker" successfully renamed to "iobrokernas"., The host for instance "system.adapter.admin.0" was changed from "Iobroker" to "iobrokernas"., The host for instance "system.adapter.discovery.0" was changed from "Iobroker" to "iobrokernas"., The host for instance "system.adapter.info.0" was changed from "Iobroker" to "iobrokernas"., Done., , ------------------------------------------------------------, ----- Step 4 of 5: Applying special settings -----, ------------------------------------------------------------, , Some adapters have special requirements/ settings which can be activated by the use of environment variables., For more information take a look at readme.md on Github!, , ------------------------------------------------------------, ----- Step 5 of 5: ioBroker startup -----, ------------------------------------------------------------, , Starting ioBroker..., , host.iobrokernas check instance "system.adapter.admin.0" for host "iobrokernas", host.iobrokernas check instance "system.adapter.discovery.0" for host "iobrokernas", host.iobrokernas check instance "system.adapter.info.0" for host "iobrokernas", Send diag info: {"uuid":"ab265f4a-67f9-a46a-c0b2-61e4b95cefe5","language":"","country":"","hosts":[{"version":"3.2.16","platform":"Javascript/Node.js","type":"linux"}],"node":"v12.22.1","arch":"x64","adapters":{"admin":{"version":"4.2.1","platform":"Javascript/Node.js"},"discovery":{"version":"2.6.1","platform":"Javascript/Node.js"},"info":{"version":"1.7.10","platform":"Javascript/Node.js"}},"statesType":"file","objectsType":"file","model":"Intel(R) Pentium(R) Silver J5040 CPU @ 2.00GHz","cpus":4,"mem":16507146240,"ostype":"Linux","city":""}, hash changed or no sources cached => force download of new sources, ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden, , ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden, ,
System ist eine DS918 in der DSM version 6.2.3 update 3
Iobroker wurde in /volume2/docker/iobroker_data installiert.
Einen Zugriff auf die Konsole im portainer bekomme ich auch.
IoBroker lässt sich auch starten.
Wie bekomme ich die Fehlermeldung mit dem fehlenden Zugriff gelöst?
mfg
Dirk -
@doerk32 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Wie bekomme ich die Fehlermeldung mit dem fehlenden Zugriff gelöst?
Lese ein paar Beiträge über deinen , da ist es erklärt ... warum .. wieso ... usw.
-
@glasfaser Danke fur den Hinweis. Mit der Suche habe ichh dann auch die "Lösung" gefunden.
-
Hi zusammen,
kann mir jemand einen Tip geben, wie ich das Backup zum laufen bekomme?
Ich habe ein neuen Container auf ner DS920 erstellt und zuvor das Backup File in den Ordner gelegt.
Er fängt auch mit dem Restore an, endet dann aber im Nichts_iobrokerV5_logs (2).txt
restore log.txtDer Browser gibt nur das hier aus:
-
Moin,
ich habe ein Blocklyscript, welches mir bei erfasster Bewegung einen Monitor einschaltet bzw wenn x-Zeit keine Bewegung war, den wieder ausschaltet.Am Monitor hängt ein Raspberry und meine ioBroker-Installation läuft als Docker-Variante auf den Synology.
Bisher lief alles ohne Probleme, dann habe ich letztens den Docker-Container auf die neueste 5.1.0 upgedatet.
Ich kann jetzt nicht mehr genau sagen, ob es seitdem oder etwas später nicht mehr klappte.
Auf jedenfall wird der EXEC-Befehl im Blockly nicht mehr richtig ausgeführt.
Zum Ausschalten sollte er folgendes senden:ssh pi@192.168.33.250 vcgencmd display_power 0
Stelle ich vom exec den Loglevel auf info, sehe ich auch, dass der Befehl abgesetzt wird, aber trotzdem bleibt der Monitor an.
Gehe ich in den Terminal vom Docker und gebe dort den Befehl ein, schaltet sich der Monitor am RPi aus.Ich habe natürlich die Zertifikate untereinander ausgetauscht, damit ich den ssh-Befehl ausführen kann, da es ja aus dem Terminal raus klappt, funktioniert dies ja schon mal.
Nur aus dem Blockly raus, klappt es nicht.
Und ja in der Javascript-Instanz habe ich den "Exec-Befehl zulassen" markiert.Irgendjemand eine Idee, was sich auf einmal geändert haben kann?
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@tstueben:Hmm, ich habe das über ein virtuelles Netzwerkdevice gelöst. Damit ist die NAS über diese virtuelle IP erreichbar.
Aber ehrlich gesagt, halte ich die MACVLAN ioBroker Docker Variante nur für "Experten" geeignet
# Virtuelles Netzwerk Device mac1 anlegen ip link add mac1 link eth0 type macvlan mode bridge ip addr add 192.168.20.80/32 dev mac1 ip link set mac1 up ip route add 192.168.20.80/28 dev mac1 ```` `
Ok, die Lösung hatte ich auch gesehen… das ist sicher nur was für experten...
Die Einfache Lösung kann man aber auch einem Laien erklären, vorallem wenn es über Portainer konfigurierbar ist... Wenn man dann ne /32 netmask verwendet, kann man dem iob sogar nur eine einzelne ip zuweisen... Läuft bei mir jetzt so... dann ist allerdings der host nicht erreichbar...
Das Problem was ich eigentlich gerade habe ist, dass durch die Umstellungen im ioBroker Setup im iobroker selbst jetzt "sudo" verwendet wird. Das hat zur Folge, dass iob auf der Synology im Host mode nicht mehr läuft... Lösung habe ich bis jetzt nicht gefunden.... Ich brauche für das Tut also eine andere "Netzwerk-Lösung"... Plan ist: standard = bridged mit portforwarding, erweitert = macvlan....
MfG,
André
https://forum.iobroker.net/post/222965
Hi Andre,
gibt es mittlerweile eine Lösung bzw. einen gangbaren Weg hierzu (Erreichbarkeit der Host IP-Adresse aus dem Docker heraus mit MACVLAN)? -
@fuxxz2 Da fällt mir jetzt auch nichts zu ein. Scheint als findet er da was nicht.
Hast du mal versucht einen leeren Container zu erstellen? Gibt es da eine ähnliche Meldung? Falls der leere Container problemlos läuft würde ich mal versuchen den Restore über die Kommandozeile zu machen.
Einfach das Backupfile ins Backup Verzeichnis (unter /opt/iobroker) kopieren, iobroker stoppen (pkill -u iobroker) und dann "iobroker restore" (ich glaube das war der ganze Befehl, sonst nochmal in der Doku nachlesen).MfG,
André -
@tugsi Seltsam. Wenn es aber vom Terminal im Docker Container geht, dann muss es eigentlich ein ioBroker Thema sein. Hast du vielleicht zwischenzeitlich js-controller oder script Adapter updates gemacht?
MfG,
André -
@mumurik Also für die erreichbarkeit der Host IP kenne ich keine alternative Lösung, außer die Verwendung des Host-Modes (mit samt der bekannten sudo Einschränkung auf den DiskStations).
Wenn du aber "einfach nur" mit dem Host kommunizieren willst, dann weise dem ioBroker Container neben dem MACVLAN ein zusätzliches Bridge Netzwerk zu. Dein Host (die DS) ist in diesem Netzwerk das Gareway. Bedeutet du kannst den Host über die Gateway IP ansprechen und darüber z.B. eine Maria DB auf dem Host an binden.... oder was auch immerMfG,
André -
@andre
Danke für die Antwort. Hatte auch mal im Scriptbereich die Frage gestellt und gelöst.
Ich hatte mit dem 4er-Container schon gemacht, aber du weißt ja, einmal gemacht und dann vergessen.
Mein Problem war, dass man im Container als root unterwegs ist, aber den Befehl vom Script wird mit dem Benutzer iobroker ausgeführt.
Man muss den Schlüssel dann auch als der Benutzer erstellen, der nachher das Script ausführt.
Manchmal sind es die kleinen Dinge... -
eine gute Idee, vielen Dank!
-
Hallo zusammen,
bei dem Versuch den Zigbee USB Stick an der Syno ans laufen zu bringen befolgte ich das Tutorial von Andre unter Buanet.
Schließlich kam ich am Punkt an, bei der in Portainer die einzufügende Umgebungsvariabel einfach nicht gespeichert wird.
Andre kommentiert das im Beitrag bei jemand anderem so:
"Hallo Martin,
du beschreibst ein bekanntes Portainer-Problem. Aktuell ist es durch einen Bug im Portainer nicht möglich über „Duplicate/ Edit“ Umgebungsvariablen zu verändern. Workaround: Container einmal löschen und neu anlegen."Ich würde jetzt auf diesen Lösungszug aufspringen, leide aber unter Verunsicherung
Was genau bedeutet LÖSCHEN? Ich habe den IOBroker ja schon fleißig mit Adapter und Skipts, VIS,... genutzt die je keinesfalls verloren gehen dürfen. (Einrichtung nach Buanetanleitung auf Synology Docker,Macvlan).
Soll ich nun wirklich in portainer auf REMOVE gehen?? Ist dann nicht alles verloren?Und die Neueinrichtung? Diese dann komplett nach der Buanet Anleitung von vorne? Wäre der IOBroker dann nicht jungfräulich?
Mir ist klar, dass ich ja dieses Verzeichnis auf der Syno gemountet habe (gemäß Anleitung). Aber ob da alles drin steht und alle Adapter automatisch wieder 1:1 arbeiten erschließt sich mir noch nicht.
Kann jemand helfen?
-
Ganz einfach ... nimm die Syn Docker Ebene .
Docker ioBroker beenden , oben auf den Reiter bearbeiten und dann die ENV eintragen .
.
.
-
@chrizzel Wenn du alles so gemacht hast wie es im Tutorial beschrieben ist, dann liegt dein ioBroker in einem gemounteten Verzeichnis auf deinem Host (deiner DS). Das bedeutet, dass der Container nur eine austauschbare Hülle ist. Alle Konfigurationsdaten deines ioBrokers liegen ja nicht im Container sondern in dem eingebundenen Verzeichnis. Dementsprechend kannst du den Container jederzeit löschen und neu erstellen. Sofern du das Verzechens wieder einbindest bleibt die Konfiguration erhalten...
Löschen bedeutet also tatsächlich Löschen. Also Container weg und neu anlegen.
MfG,
André -
Ich bin ein ganzes Stück weitergekommen.
Ein Freund hat mir mit dem Magischen Vefehl geholfen. Er lautet:
docker run -d --name=deconz --restart=always -v /etc/localtime:/etc/localtime:ro --device=/dev/ttyACM0 -p 8082:80 -v /volume1/docker/deconz_config:/root/.local/share/dresden-elektronik/deCONZ marthoc/deconz
Wenn man das in die SSH Console eingibt, dann wird gezaubert und der deconz Docker Container ist fertig eingerichtet. Ich verwende die USB Zigbee Antene.
Dann habe ich ioBroker von buanet installiert. Wenn man dann dadrin den Adapter Deconz installiert, klappt es sofort. Also soweit so gut.
Nun muss ich aber ioBroker nochmal einrichten. Denn ich weiß nicht, wie ich die Einstellungen umlenken kann. Wie genau muss ich diese Pfade schreiben? So dass alle Einstellungen in meinem eigenen Docker Ordner liegen? Versteht ihr was ich meine? Bei mir ist der Ordner leer.
Außerdem wollte ich fragen, installiere ich nunn ganz einfach noch den Influx udn Grafana Docker?
-
@paul-ol sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Wie genau muss ich diese Pfade schreiben? So dass alle Einstellungen in meinem eigenen Docker Ordner liegen? Versteht ihr was ich meine? Bei mir ist der Ordner leer.
Suche hier im Thread nach mount. ( ist hier alles beschrieben )
-
@glasfaser Danke. Wie es Scheint funktioniert es mit.
-
@andre
@Glasfaser
Ich danke euch. Einfacher als gedacht. Ich hab's in der Syno eingetragen. -
Moin. Über Nacht ist mein ioBroker plötzlich nicht mehr über die Weboberfläche erreichbar (Administration und VIS-Seiten). Raspi läuft aber, auch kann ich mich in den Container verbinden. Das einzige was davor gemacht wurde war ein Philips-hue-Adapter-Update.
Irgendwie scheint mein Admin-Adapter kaputt zu sein? Hatte das schonmal jemand?Log sagt folgendes:
------------------------------------------------------------ --------------- 2021-06-02 13:44:55 --------------- ------------------------------------------------------------ ------------------------------------------------------------ ----- Welcome to your ioBroker-container! ----- ----- Startupscript is now running. ----- ----- Please be patient! ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Debugging information ----- ----- ----- ----- System ----- ----- arch: armv7l ----- ----- ----- ----- Versions ----- ----- image: v4.2.0 ----- ----- node: v12.22.1 ----- ----- npm: 6.14.12 ----- ----- ----- ----- ENV ----- ----- PACKAGES: nano build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ----- USBDEVICES: /dev/ttyUSB0 /dev/ttyAMA0 ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Step 1 of 5: Preparing container ----- ------------------------------------------------------------ Installing additional packages is set by ENV. The following packages will be installed: nano build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev... Done. ------------------------------------------------------------ ----- Step 2 of 5: Detecting ioBroker installation ----- ------------------------------------------------------------ Existing installation of ioBroker detected in /opt/iobroker. ------------------------------------------------------------ ----- Step 3 of 5: Checking ioBroker installation ----- ------------------------------------------------------------ (Re)Setting folder permissions (This might take a while! Please be patient!)... Done. Fixing "sudo-bug" by replacing sudo in iobroker with gosu... Done. The object system.adapter.admin.0 was not found! /opt/scripts/iobroker_startup.sh: line 173: [: !=: unary operator expected ------------------------------------------------------------ ----- Step 4 of 5: Applying special settings ----- ------------------------------------------------------------ Some adapters have special requirements/ settings which can be activated by the use of environment variables. For more information take a look at readme.md on Github! Usb-device-support is activated by ENV. Setting permissions for /dev/ttyUSB0 /dev/ttyAMA0... Done. ------------------------------------------------------------ ----- Step 5 of 5: ioBroker startup ----- ------------------------------------------------------------ Starting ioBroker... doc.rows is not iterable TypeError: doc.rows is not iterable at Object.getInstancesOrderedByStartPrio (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2782:27) object system.meta.uuid cannot be updated: Error: DB closed object system.user.admin created