NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@jogge sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@hetti72 betreibst du deinen Container nur via MACVLAN? Dachte das interne Docker Netzwerk ist nur für den Bridge mode interessant.
Der Container ist von "aussen" per MACVLAN erreichbar. Ich hab aber noch mehr Container laufen (z.b. InfluxDB und Grafana) die müssen sich ja auch untereinander unterhalten können und das geht (normalerweise) nur über das interne Docker Netzwerk.
Ich weiss jetzt gar nicht wie das "default" Firewall Profil der Syno aussieht, ich hatte eingehend nur mein lokales Subnetz und ein paar weitere ausnahmen erlaubt. Dadurch konnten sich die Container untereinander über das 172.18.x.x Netzwerk nicht erreichen bzw. die Container waren per VPN (Server auf der Syno) nicht erreichbar.
Da ich deine genaue konfig nicht kenne, wäre es möglich das bei dir ein ähnliches Problem besteht.gruß,
Hetti -
@hetti72 hab eben mal getestet: der pihole Container und ioBroker können miteinander sprechen, trotz Firewall. Hängen aber halt beide im gleichen MACVLAN. Die Container sind von aussen auch via VPN (Router) zugänglich.
-
gelöscht... weil unfug
-
-
@haselchen also ich habe es jetzt hinbekommen, indem ich bei den Firewall-Regeln unter DSM der Quell-IP des iobrokers alle Ports freigegeben habe. Warum das auf einmal nötig ist, ist mir zwar ein Rätsel, aber mit dieser Lösung kann ich leben. Beim rum spielen habe ich mir übrigens den iobroker auch mal ganz zerschossen. Es startete kein Prozess mehr. Backup eingespielt und alles ging wieder. Ich gehe davon aus, dass es durch zu schnelles starten, stoppen und/oder editieren des Containers passiert ist.
An der Stelle nochmal danke an Andre für die tolle Anleitung und das geniale Konzept. Wenn du in deinem Tutorial nicht so ein Wert auf das Backup gelegt hättest, hätte ich es wohl erst jetzt implementiert!
-
Wenn Du den Iobroker Ordner mounten würdest, könntest du rumspielen wie du willst und hast immer wieder ne funktionierende Installation
-
@haselchen Mein Iobroker ist gemountet. Musste aber das Backup in das Mount-Verzeichnis verschieben und entpacken. Irgendwie wurden die Daten beschädigt, welche zuvor dort lagen. Jedenfalls hat es danach wieder funktioniert
-
@Amnesia1211 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Bei mir das gleiche, leider startet iobroker nicht mehr. Installation neu gemacht und mehrfach versucht. Ohne Erfolg
Ich hab leider das selbe Problem und komme irgendwie nicht weiter. Ich hab MACVLAN eingerichtet, nach Anleitung von @andre
Hab dann auch schon den Hostnamen geändert. Aber irgendwie komme ich nicht auf die Oberfläche.Ich weiß nur nicht ob das Problem jetzt in den Einstellungen vom iobroker liegt oder ob ich irgendwas falsch gemacht habe bei der Einrichtung mit dem VLAN .
root@2bcd356db48f:/opt/iobroker# iobroker status iobroker is running on this host. At least one iobroker host is running. Objects type: file States type: file root@2bcd356db48f:/opt/iobroker# iobroker list instances system.adapter.admin.0 : admin - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.discovery.0 : discovery - enabled system.adapter.info.0 : info - enabled + instance is alive root@2bcd356db48f:/opt/iobroker#
, ------------------------------------------------------------, --------------- 2020-06-09 09:02:41 ---------------, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Welcome to your ioBroker-container! -----, ----- Startupscript is now running. -----, ----- Please be patient! -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Debugging information -----, ----- -----, ----- System -----, ----- arch: x86_64 -----, ----- -----, ----- Versions -----, ----- image: v4.2.0 -----, ----- node: v10.21.0 -----, ----- npm: 6.14.4 -----, ----- -----, ----- 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 ... 25497 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., , ------------------------------------------------------------, ----- 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., , ------------------------------------------------------------, ----- 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.iobrokertest check instance "system.adapter.admin.0" for host "2bcd356db48f", host.iobrokertest check instance "system.adapter.discovery.0" for host "2bcd356db48f", host.iobrokertest check instance "system.adapter.info.0" for host "2bcd356db48f",
Meine Einstellungen von der DS415+
-
@Sören
Also bei mir sieht die Erstellung des Netzwerk Adapters so aus. Das ganze ist im Portainer gemacht wie der André das auch beschrieben hat.
Die IP adressen und den "Parent network card" muss du natürlich auf dich anpassen.
Vielleicht liegt es ja auch nur am HOST wie mir oben mal beschrieben wurde, änder den mal beim erstellen auf "2bcd356db48f" vielleicht kommst du dann drauf.Nachtrag:
habe mal einen neuen iobroker erstellt und wie beschrieben ist der host auf 2bcd356db48f, habe in der Konsole das eingegeben. Danach kam ich erst mal auf die Oberfläche.
Nach einem neustart ist der Host name natürlich wieder wie vorher also lohnt es mehr ihn direkt bei dem erstellen des Containers auf 2bcd356db48f zu ändern und den iobroker nicht wie gewohnt iobroker zu nennen.
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 iobroker... Host "2bcd356db48f" successfully renamed to "iobroker". No instances found for host "2bcd356db48f"! 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.iobroker check instance "system.adapter.admin.0" for host "2bcd356db48f" host.iobroker check instance "system.adapter.discovery.0" for host "2bcd356db48f" host.iobroker check instance "system.adapter.info.0" for host "2bcd356db48f"
-
Leider sind deine Bilder von der Auflösung so schlecht das ich das nicht wirklich erkennen kann, sondern nur raten. Ich häng meine Config noch mal mit dran. in der Hoffnung das das Forum die so läßt das man sie erkenn kann.
-
das ist der Punkt der mir gefehlt hat. Oberfläche läuft
Ich hate noch einen neuen Container angelegt bei dem ich gleich den Namen 2bcd356db48f verwendet hat, allerdings hat das auch nicht funktioniert. Keine Ahnung warum. Ich bin jetzt froh das es läuft.
Jetzt kann ich mich dran machen alles andere zum laufen zu bekommen und Stück den iobroker umziehen zu lassen. Da es bezüglich des Netzwerk auch Nachteile beim MACVLAN gibt, werd ich das ganze wohl großenteils händisch machen anstatt per backup. Naja mal sehen.
Ich danke dir auf jeden fall für deine Hilfe dann bin ich doch nicht ganz so blöd wie ich mich manchmal gefühlt habe weil es nicht funktioniert hat
-
@Sören
Also wenn ich die Bilder an klicke haben sie eine Auslösung von 4552x1202 pixelSuper wenn es läuft.
-
@Amnesia1211 Geb doch zu, du hast schnell neue Screenshots hochgeladen jetzt kann ich die auch lesen
-
@Sören Nein wirklich nicht, habe nix geändert.
-
@Amnesia1211 Keine Ahnung warum ich die letzt gut lesen kann. Ist ja auch egal Hauptsache du kanntest die Lösung bis es ein update dafür gibt
-
@Sören sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
bis es ein update dafür gibt
Im Beta ist ein fix drin. Nur Mut.
MfG,
André -
Hast du schon eine Idee wann das ganze ins
latest
kommt? sonst müßte ich ja wieder alles neu einstellen wenn ich jetzt auf das das Beta Wechsel, aber es soll ja mein Produktives System werden. Oder gibt es ne Möglichkeit vom Latest auf Beta und anschließend wieder zurück zu wechseln? -
Moin zusammen,
nachdem ich jetzt gerade dabei bin, verschiedene Adapter zu installieren und zu konfigurieren und so Meldungen kommen wie "Neuer JS-Controller 3.1 ist verfügbar!" und "Node.js: v10.20.1 (Es gibt eine neuere Version: v10.21.0 - Empfohlene Version v12.18.0)" stellen sich die Fragen nach Backup und Updates (was ich schon hab' ist die komplette rollierende wöchentliche Sicherung der Raspi-SD-Karte aufs NAS bei gestoppten Docker-Containern).
Da bin ich nun aber trotzdem etwas verwirrt, weil zumindest die Backups bei einem Volume-Mount wie /home/pi/docker-data/iobroker-data:/opt/iobroker meinem Verständnis nach doch eigentlich viel einfacher sein müssten als wie in den verschiedenen Versionen der Tutorials beschrieben. Die Frage ist nun, ob ich die Komplexität nicht verstanden habe oder mir das zu einfach vorstelle:Grundsätzliches Vorgehen für ein manuelles Backup auf nem Raspi: Ich wechsle in den Docker-Container und kille den ioBroker. Dann sichere ich auf dem Host mein gemountetes Verzeichnis /home/pi/docker-data/iobroker-data samt Unterverzeichnisse in eine tar- oder gz-Datei. Backup erledigt?!
Beim Wiederherstellen bin ich mir unsicher. Falls die Daten kaputt gingen, dann ebenfalls in den Docker-Container wechseln und ioBroker killen? Danach auf dem Host das Verzeichnis /home/pi/docker-data/iobroker-data löschen und neu erstellen. Das gz oder tar in das nun leere Verzeichnis entpacken. Docker-Container verlassen und den Container neu starten. Geht so oder nicht?
Hatte noch was von einem ioBroker-internen Backup (im Docker-Container oder der GUI ausgeführt?) gelesen, aber das brauche ich dann nicht wirklich, ne?Neuen Docker-Container holen: Ich habe den ioBroker (mit macvlan wie in der Anleitung) per Docker-Compose zusammen mit nem mysql- und phpmyadmin-Container erstellt. Die beiden letzteren möchte ich behalten. Könnte ich den ioBroker-Container samt Image löschen und das Compose erstellt mir dann nur den fehlenden ioBroker-Container neu?
Oder ist hier doch der bessere Weg dieses irgendwo im Tutorial beschriebene Container-Löschen und Recreate über Portainer?Ich hatte dummerweise am 20.04.2020 mit :latest angefangen, im Tutorial Best Practices steht aber ja man soll die letzte stabile Version verwenden, damit man nicht versehentlich einen großen Versionssprung mit Inkompatibilitäten (z.B. bei node) macht. Das Docker-Image kann ich mir nun aber trotzdem mit v4.2.0 holen, das wurde ja erst vor 3 Tagen gebaut und das müsste ich Ende April mit latest bekommen haben, ne?
Letzte Frage: JS-Controller und Node.js muss ich ja im Container/über die ioBroker-GUI aktualisieren und dies landet dann letztlich in meinem /home/pi/docker-data/iobroker-data, habe ich gelesen. Ist das alles gefahrlos was Kompatibilität angeht? JS-Controller wohl ja, bei Node.js muss man möglicherweise aufpassen (nach allem was ich hier im Forum mitgelesen habe); sollte ich innerhalb v10 bleiben oder ist v12 auch okay? Oder muss ich sogar auf v12, wenn ich später auf Andrés Docker-Version v4.2.3 (oder erst bei der mal erwähnten v5?) gehen möchte? Oder wäre Update auf Node.js v12 jetzt fatal, weil das aktuelle Image v4.2.0 noch Node v10 hat? Da fehlt mir noch das Verständnis, weil ich gelesen hatte, dass das in meinem Mount-Verzeichnis landet und der Container/das Image eine leere Hülle drum herum sei, andererseits habe ich auch gelesen, dass bei nem Wechsel die Node-Versionen gleich sein müssen (was sie doch dann immer wären)...
Sorry für die vielen Fragen...
-
@stevie77 Also teilweise blickt man bei dem Beitrag nicht mehr durch.
Backup:
- du kannst den iobroker-data sichern, das gibt dann ein recht großes Backup. Falls was kaputt geht den Container an sich stoppen (nicht ioBroker im Container killen) das iobroker-data Verzeichnis wiederherstellen und den Container wieder starten.
- wichtig ist aber auf jeden Falal noch die interne Backupfunktion von ioBroker, das gibt dann ne recht kleine Datei aber wenn was im iobroker-data Verzeichnis kaputt ist und das vielleicht schon mehere Backups lang ohne das es auffällt ist dieses kleine Backup die Rettung. Damit kann man auch die ganzen Adapter von Grund auf sauber neu installieren lassen wenn es z.B. bei einem Wechsel der node.js Version zu Problemen kommt.
Latest oder Version:
Welche Version du genau bekommen hast siehst du beim Starten des Containers im Log ganz oben. Da sollte die Version stehen.JS-Controller und Node.js update:
- Beide kannst du nicht über die ioBroker-Gui aktualisieren.
- Gefahrlos ist beides nicht, es kann immer zu inkompatibiläten kommen. Hier ist es wichtig vorher nachzulesen.
- Ein Update auf Node.js v12 am besten erst machen wenn das Image auch auf der neuen Version läuft sonst würde ein Update des Containers bedeuten du machst ein downgrade.
- beim Wechsel auf V12 sollte es dieses mal ohne händischen eingriff klappen. Aber das am besten nachlesen wenn Andre die neue Version ins stable bringt.
-
iobroker Beta >v4.2.3beta< test:
Insstalation nach Anleitung ist ohne Probleme durch gelaufen.
Den Namen hat er nicht wie normal übernommen sondern vermutlich einen vorgegebenen Namen eingesetzt (iobroker).Anhalten des iobroker's klappt auch wie oben beschrieben über pkill node
Backup und Wiederherstellung ist auch ohne Probleme durch gelaufen. Die Adapter werden wie gewohnt nach und nach installiert,
die VIS ist allerdings noch auf Englisch, eine Umstellung ist nicht möglich.
Ansonsten Läuft auf den ersten Blick alles ohne Probleme. Danke geht wieder immer an André !!! Super Arbeit------------------------------------------------------------ --------------- 2020-06-19 13:22:45 --------------- ------------------------------------------------------------ ------------------------------------------------------------ ----- Welcome to your ioBroker-container! ----- ----- Startupscript is now running. ----- ----- Please be patient! ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Debugging information ----- ----- ----- ----- System ----- ----- arch: x86_64 ----- ----- ----- ----- Versions ----- ----- image: v4.2.3beta ----- ----- node: v12.18.1 ----- ----- npm: 6.14.5 ----- ----- ----- ----- 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... Done. ------------------------------------------------------------ ----- Step 2 of 5: Detecting ioBroker installation ----- ------------------------------------------------------------ There is data detected in /opt/iobroker but it looks like it is no instance of iobroker or a valid backup file! Please check/ recreate mounted folder/ volume and restart ioBroker container. ------------------------------------------------------------ --------------- 2020-06-19 13:23:45 --------------- ------------------------------------------------------------ ------------------------------------------------------------ ----- Welcome to your ioBroker-container! ----- ----- Startupscript is now running. ----- ----- Please be patient! ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Debugging information ----- ----- ----- ----- System ----- ----- arch: x86_64 ----- ----- ----- ----- Versions ----- ----- image: v4.2.3beta ----- ----- node: v12.18.1 ----- ----- npm: 6.14.5 ----- ----- ----- ----- 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... 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 folder permissions (This might take a while! Please be patient!)... Done. Fixing "sudo-bug" by replacing sudo in iobroker with gosu... Done. Looks like this is a new and empty installation of ioBroker. Hostname needs to be updated to iobroker... The host for instance "system.adapter.admin.0" was changed from "e961d2ce0067" to "iobroker". The host for instance "system.adapter.discovery.0" was changed from "e961d2ce0067" to "iobroker". The host for instance "system.adapter.info.0" was changed from "e961d2ce0067" to "iobroker". 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.iobroker check instance "system.adapter.admin.0" for host "iobroker" host.iobroker check instance "system.adapter.discovery.0" for host "iobroker" host.iobroker check instance "system.adapter.info.0" for host "iobroker" Send diag info: {"uuid":"7abd3182-d399-f7bd-da19-9550d8babede","language":"","country":"","hosts":[{"version":"3.1.5","platform":"Javascript/Node.js","type":"linux"}],"node":"v12.18.1","arch":"x64","adapters":{"admin":{"version":"4.0.10","platform":"Javascript/Node.js"},"discovery":{"version":"2.3.5","platform":"Javascript/Node.js"},"info":{"version":"1.7.2","platform":"Javascript/Node.js"}},"statesType":"file","objectsType":"file","model":"Intel(R) Atom(TM) CPU C2538 @ 2.40GHz","cpus":4,"mem":16820428800,"ostype":"Linux","city":""} hash changed or no sources cached => force download of new sources Send diag info: {"uuid":"7abd3182-d399-f7bd-da19-9550d8babede","language":"de","country":"","hosts":[{"version":"3.1.5","platform":"Javascript/Node.js","type":"linux"}],"node":"v12.18.1","arch":"x64","adapters":{"admin":{"version":"4.0.10","platform":"Javascript/Node.js"},"discovery":{"version":"2.3.5","platform":"Javascript/Node.js"},"info":{"version":"1.7.2","platform":"Javascript/Node.js"}},"statesType":"file","objectsType":"file","model":"Intel(R) Atom(TM) CPU C2538 @ 2.40GHz","cpus":4,"mem":16820428800,"ostype":"Linux","city":""} ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]