NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Ich kann den Fehler auch reproduzieren, egal ob ich den Container über portainer oder die QNAP App erstelle.
Es macht auch keinen Unterschied ob ich das Verzeichnis /opt/iobroker aus dem Container "auslagere" oder nicht.Habe an anderer Stelle noch gelesen, dass es zu Fehlern kommen kann wenn das Volume auf dem das Verzeichnis liegt auf dem Host als "noexec" angelegt ist. Wie kann ich das prüfen?
-
@Two_Faces sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ich kann den Fehler auch reproduzieren, egal ob ich den Container über portainer oder die QNAP App erstelle.
Es macht auch keinen Unterschied ob ich das Verzeichnis /opt/iobroker aus dem Container "auslagere" oder nicht.Habe an anderer Stelle noch gelesen, dass es zu Fehlern kommen kann wenn das Volume auf dem das Verzeichnis liegt auf dem Host als "noexec" angelegt ist. Wie kann ich das prüfen?
wäre interessant zu wissen, was genau du gemacht hast, auch welche qnap du hast und ob die Software aktuell ist. Welches image benutzt du?
wenn ich mit dem neuesten image von buanet (latest) einen neuen Container erstelle und nur die Netzwerkeinstellung auf Bridge(damit er eine eigene IP bekommt) stelle, läuft iobroker bereits. Da ja Portainer bei dir läuft, sollten auch die Volumeeinstellungen ok sein, wüsste auch nicht was man da falsch machen kann -
@fastfoot
Ich habe die TS-453D mit der aktuellen Firmware. Details zur Version stehen im Anhang.
Hab mein Vorgehen zur Erstellung des Containers auch im Anhang dokumentiert. Als Image habe ich das buanet:latest-v5 verwendet.
Außerdem hab ich noch einen Screenshot vom Host Ordner in dem die iobroker Daten liegen sowie vom Inhalt der Path Variable rein gepackt. -
@Two_Faces sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@fastfoot
Ich habe die TS-453D mit der aktuellen Firmware. Details zur Version stehen im Anhang.
Hab mein Vorgehen zur Erstellung des Containers auch im Anhang dokumentiert. Als Image habe ich das buanet:latest-v5 verwendet.
Außerdem hab ich noch einen Screenshot vom Host Ordner in dem die iobroker Daten liegen sowie vom Inhalt der Path Variable rein gepackt.das sieht alles ok aus. War der Ordner iobroker-data denn leer, als du den Container erstellt hast?
Mir fällt jetzt nur noch ein genereller Test ein, ohne externen Datenordner und auch ohne Portainer. DAuert 5 Minuten- In der Container-Station, unter Images, klicke auf das Plus neben deinem Image um einen neuen Container zu erstellen
- Belasse alles wie es da steht und klicke auf Erweiterte Einstellungen/Netzwerk
- Füge eine Portweiterleitung wie gezeigt hinzu (9081 -> 8081)
- Klicke auf Erstellen und im nächsten Screen auf OK
- In der Übersicht der Containerstation, klicke auf das Link-Symbol
- Alternativ klicke auf den Namen(iobroker-1) und sieh dir das Logfile an, unter URL oben links sollte auch der Link erscheinen(kann etwas dauern)
Wenn das alles funktioniert würde ich denken, dass es an deinem Daten Ordner liegt
-
@Two_Faces Starte mal mit den selben Einstellungen aber einem leeren ioBroker-Verzeichnis und poste dann mal das komplette Log aus dem Container (Nicht nur die Fehlermeldung!). Dann schauen wir mal was das Startup Script so macht...
Habe gerade mal das Image gecheckt und einen Container mit deinen Einstellungen aufgesetzt. Alles bestens. Am Image sollte es nicht liegen...
MfG,
André -
@fastfoot es kommt die gleiche Fehlermeldung
@andre
Hier das komplette Log. Habe zur Auslagerung aus dem Container einen neuen Ordner auf dem Host erstellt.Danke für eure Unterstützung!
Edit: Bis der Log wie gezeigt erstellt ist vergeht viel weniger als eine Minute.
, ------------------------------------------------------------, --------------- 2020-12-22 07:34:31 ---------------, ------------------------------------------------------------, , ------------------------------------------------------------, ----- 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.20.0 -----, ----- npm: 6.14.8 -----, ----- -----, ----- ENV -----, ----- SETGID: 1000 -----, ----- SETUID: 1000 -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Step 1 of 5: Preparing container -----, ------------------------------------------------------------, , 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 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..., error: exec: "node": executable file not found in $PATH, 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..., , error: exec: "node": executable file not found in $PATH,
-
Ich hab die QNAP App Container Station deinstalliert und wieder neu installiert.
Anschließend habe ich es mit den gleichen Einstellungen (ohne portainer) probiert und es hat geklappt. Die Admin Oberfläche von iobroker ist jetzt erreichbar.Morgen werde ich portainer -wenn ich Zeit dafür finde- noch als Container einrichten und es dann auch damit probieren.
Nochmal vielen Dank für eure Unterstützung!
-
@Two_Faces sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ich hab die QNAP App Container Station deinstalliert und wieder neu installiert.
Anschließend habe ich es mit den gleichen Einstellungen (ohne portainer) probiert und es hat geklappt. Die Admin Oberfläche von iobroker ist jetzt erreichbar.Morgen werde ich portainer -wenn ich Zeit dafür finde- noch als Container einrichten und es dann auch damit probieren.
Nochmal vielen Dank für eure Unterstützung!
Dann wird es auch mit Portainer funktionieren, ich hatte 'ohne' nur vorgeschlagen weil das zum Testen sehr schnell geht. Ist schon ein seltsamer Fehler, aber gut zu wissen
-
Hi,
bekomme seit einiger Zeit regelmäßig ca. alle 2 Minuten folgende Fehlermeldung im Protokoll meines ioBroker.
Jemand eine Idee für die Ursache bzgl. des MDNS-Socker-Fehlers?
Bisher konnte ich keine Funktionseinschränkungen meines ioBrokers feststellen.
EDIT: Die angezeigten IP-Adressen gehören übrigens allesamt zu unseren iOS-Geräten. Da scheint es wohl ein Problem mit Multicast DNS zu geben. Aber war das schon immer so?
-
Moin, ich steige leider bei dieser Forums-Suche nicht so wirklich durch und hoffe, nur kurz zu stören:
Was muss ich tun, um auf ioBroker im Docker-Container (noch vor Version 5) SSL zu aktivieren, so dass die Fehlermeldungen in Chrome aufhören?
Ich hatte es hiermit probiert, damit funktioniert der Zugriff über https zwar, aber Chrome zeigt trotzdem erstmal Fehlermeldungen an und fragt nach, ob ich die Seite wirklich laden will (dazu dann noch "Nicht sicher" im URL-Feld wegen ungültigem Zertifikat). -
Muss jetzt noch mal eine weitere Frage stellen.
Wenn ich den phantomjs-Adapter verwende, erhalte ich immer einen Fehlercode 127 als Rückgabe.
phantomjs.0 2020-12-30 18:50:14.031 error (689) {"killed":false,"code":127,"signal":null,"cmd":"/opt/iobroker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs --ignore-ssl-errors=true /opt/iobroker/node_modules/iobroker.phantomjs/lib phantomjs.0 2020-12-30 18:50:14.019 info (689) Create 1024px*768px in undefinedms - "http://localhost:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.vis.VerbrauchWasserTag&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5B
Das funktionierte vor einem Jahr noch absolut problemlos. Kann es sein, dass in der Version 5.x (ich nutze aktuell die Version 5.1) fontconfig bzw. libfontconfig fehlt? Wenn ich es jedoch mit
apt-get update apt-get upgrade apt-get install fontconfig
nachinstaliere, dann ändert sich der Fehlercode von 127 auf 1. Oder liegt es am Host- bzw. Bridge-Betrieb?
Was ich bereits probiert habe:
Adapter vollständig deinstalliert und neu installiert. -> Ohne Erfolg.
Docker-Container auf Version 5.1.0 aktualisiert. > Ohne Erfolg.
Docker-Container von host auf bridge umgestellt. -> Ohne Erfolg.
"apt-get install libfontconfig" ausgeführt. -> Fehlercode ändert sich von 127 auf 1.
"apt-get install fontconfig" ausgeführt. -> Fehlercode ändert sich von 127 auf 1. -
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Jemand eine Idee für die Ursache bzgl. des MDNS-Socker-Fehlers?
Bisher konnte ich keine Funktionseinschränkungen meines ioBrokers feststellen.
EDIT: Die angezeigten IP-Adressen gehören übrigens allesamt zu unseren iOS-Geräten. Da scheint es wohl ein Problem mit Multicast DNS zu geben. Aber war das schon immer so?Also wenn ich Google richtig verstehe, dann hat das was mit dem Multicast von Apple zu tun. Hast du Homekit im Einsatz?
Wenn ich mich recht erinnere läuft dein Container im Host Mode. Du könntest mal schauen ob der Fehler noch kommt wenn du den Container mit erweiterten Rechten ausführst.
Meines Erachtens wäre auch MACVLAN eine mögliche Lösung, da dort die IP-Pakete den Container ja direkt erreichen...@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Muss jetzt noch mal eine weitere Frage stellen.
Wenn ich den phantomjs-Adapter verwende, erhalte ich immer einen Fehlercode 127 als Rückgabe.Da "libfontconfig" für den Adapter eine Anforderung ist, würde ich das auf jeden fall installieren. Am besten über die ENV "PACKAGES". Da ich den Adapter weiter nicht kenne kann ich auch nichts zur Funktion sagen. Werde mir den gleich mal in meine neue Testumgebung installieren und damit rum spielen. Hast du vielleicht nen Tipp wie ich den Adapter auf Funktion testen kann?
MfG,
André -
@stevie77 Dumme Frage. Hast du ein ein gültiges Zertifikat im ioBroker und vertraut dein Browser der Zertifizierungsstelle die das Zertifikat ausgestellt hat?
MfG,
André -
@andre Ist schon ne Weile her, dass ich das eingestellt hatte, nach der von mir erwähnten Anleitung. Dabei musste man nur defaultPublic und defaultPrivate auswählen, meiner Erinnerung nach kein eigenes Zertifikat erstellen.
Irgendwie scheine ich auch an zwei Dateien ioBroker-Zertifikat.cer und ioBroker-Zertifikat.p7b gekommen zu sein (weiß aber nicht mehr wie), die habe ich vorhin wiedergefunden. Die hatte ich in Chrome und Firefox in alle möglichen passend erscheinenden Reiter der Zertifikatsverwaltung importiert (wird auch als gültig angezeigt), aber bringt halt nichts.
Funktioniert das denn nur über Let's encrypt? Wie macht ihr das? Gibt's dazu ne Anleitung bzw. wenn ich dazu eine finde, gibt's Einschränkungen oder Punkte, die bei ioBroker in Docker evtl. anders laufen?
-
@stevie77 Also Grundsätzlich ist das kein Docker Thema. Es macht keinen Unterschied ob du ioBroker im Container oder sonst wo laufen hast...
Allerdings kommt es darauf an wie die auf die Weboberfläche zu greifst. Per IP-Adresse? Geht nicht. Da wirst du immer die Warnmeldung vom Browser bekommen. (Die übrigens nicht schlimm ist, denn deine Verbindung sollte trotzdem verschlüsselt sein!).
Wenn du die Meldung weg haben willst, musst du deinen ioBroker per FQDN aufrufen.Ich greife nur lokal oder per VPN auf meinen ioBroker zu und habe es so gelöst:
FQDN: iobroker.fritz.box
Dann ein Zertifikat für die Domain "fritz.box" über die DiskStation erstellt (die kann man wunderbar als zertifizierungsstelle missbrauchen)
Zertifikat im ioBroker eingespielt.
Meinem Browser gesagt, dass er meine eigenen Zertifizierungsstelle vertrauen soll...Läuft. Tutorial dazu steht schon auf meiner Liste. Aber die Zeit...
MfG,
André -
@andre Ah, das ist dann wohl das Problem. Leider weiß ich nicht mehr, wie ich zu dem Zertifikat gekommen bin, aber ich hätte als Name ja nicht iobroker angegeben, sondern raspi1500-iobroker, worunter der ioBroker bei mir im lokalen Netz erreichbar ist.
Aber gut, dann kann ich ja mal weitersuchen nach nem Tutorial bzw. probieren, wenn die Dockerumgebung keine speziellen Anforderungen stellt. Danke!
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hast du vielleicht nen Tipp wie ich den Adapter auf Funktion testen kann?
Ich denke, am einfachsten geht es, wenn du ein kleines Testskript in dieser Form erzeugst
sendTo('phantomjs.0', 'send', { url: 'https://forum.iobroker.net/', output: '/opt/iobroker/Testscreenshot.png', width: 1024, height: 768, 'clip-width': 600, 'clip-height': 300 }, function (result) { console.log(result.error + ' ' + result.output); });
und das dann direkt ausführst.
Hab's übrigens auch noch mal gerade mit der Version 4.2.0 deines ioBroker-Dockers versucht. Doch auch da wird mit der Fehlercode 127 "ausgespuckt".
Ach so. Wünsche dir natürlich noch ein frohes Neues.
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ich greife nur lokal oder per VPN auf meinen ioBroker zu und habe es so gelöst:
FQDN: iobroker.fritz.box
Dann ein Zertifikat für die Domain "fritz.box" über die DiskStation erstellt (die kann man wunderbar als zertifizierungsstelle missbrauchen)
Zertifikat im ioBroker eingespielt.
Meinem Browser gesagt, dass er meine eigenen Zertifizierungsstelle vertrauen soll...Moin und frohes Neues!
Über ein Tutorial würde ich mich auch sehr freuen. Ich betreibe meine DS218+ auch nur im lokalen Netzwerk und habe das mit dem Zertifikat dafür nie hinbekommen.
FQDN kannte ich auch noch nicht.Danke!
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Da "libfontconfig" für den Adapter eine Anforderung ist, würde ich das auf jeden fall installieren. Am besten über die ENV "PACKAGES".
Hab den Docker Container jetzt mal mit PACKAGES libfontconfig installiert. Dann ändert sich der Fehlercode von 127 auf 1. Sprich, libfontconfig wird wohl gefunden, aber es scheint ein anderes Zugriffsproblem zu geben.
phantomjs.0 2021-01-03 11:42:20.819 error (1251) {"killed":false,"code":1,"signal":null,"cmd":"/opt/iobroker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs --ignore-ssl-errors=true /opt/iobroker/node_modules/iobroker.phantomjs/lib
-
@Steff75 In den neueren Versionen vom web-Adapter lässt sich die Authentifikation auch ohne https aktivieren, das ging früher nicht. Das ist für den Betrieb ohne VPN zwar gefährlich, reicht aber ggf. für den internen Betrieb als Sicherheitsfunktion.
Gruß, Ralf