NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
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
-
Guten Morgen,
ich habe portainer installliert. Bei "üben habe ichVlans erstellt, die nicht mehr zu löschen sind.
Wie bekomme ich das trotzdem hin. Ich möchte sozusagen aufräumen.
mfg
Dirk -
@stevie77 Es war vermutlich tatsächlich ein warum auch immer irgendwie misslungenes Update des Adapters Admin auf 5.1.6. Ich konnte ein komplettes Backup des Raspi von Sonntag einspielen und sah, dass ich wohl in den zwei Tagen auch Admin aktualisiert hatte. Wie zuvor lief der automatische Prozess gut durch und der Docker-Container startete auch danach wieder korrekt. Mal sehen, ob es stabil bleibt oder wieder nach zwei Tagen plötzlich hängt...
-
@stevie77 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@stevie77 Es war vermutlich ......misslungenes Update des Adapters Admin auf 5.1.6. ............
Mal sehen, ob es stabil bleibt oder wieder nach zwei Tagen plötzlich hängt...Da du Beta Tester bist , kann es schon vorkommen das etwas nicht funktioniert , hat aber nichts mit diesem Thread zu tun .
-
@doerk32 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
ei "üben habe ichVlans erstellt, die nicht mehr zu löschen
Kann dir da nicht ganz helfen , da ich kein Vlan nutze .
Schau mal hier , vorletzter Beitrag vielleicht kommst du damit weiter :
https://www.synology-forum.de/threads/docker-portainer-netzwerk-laesst-sich-nicht-loeschen.108179/
-
@glasfaser Upps, das war mir gar nicht bewusst. Danke für den Hinweis. Keine Ahnung, wie ich dazu komme (Gedächtnislücke?). Als Anfänger will ich mich eigentlich von Betas und deren Fehlern fern halten. Einfach den 2. Eintrag löschen, nehme ich an?