NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@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
-
@dtp Da gibt es auch schon ein Issue im Adapter phantomjs auf welches ich beim Verwenden stosse: https://github.com/ioBroker/ioBroker.phantomjs/issues/19
Gruß, Ralf
-
@RK62 Danke für den Hinweis
-
@RK62 sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@dtp Da gibt es auch schon ein Issue im Adapter phantomjs auf welches ich beim Verwenden stosse: https://github.com/ioBroker/ioBroker.phantomjs/issues/19
Hm. Da sehe ich aber keinen Zusammenhang zu dem bei mir angezeigten Fehlercode 1. Oder habe ich da ein Verständnisproblem? Trotzdem danke.
Gibt es denn jemand, bei dem phantomjs im Docker-Container v5.1 (egal, ob Host, Bridge oder MACVLAN) problemlos durchläuft?
-
Hm.
Habe jetzt mal meinen Docker-Container von Host- auf Bridge-Modus umgestellt. Dann ist zwar das sudo-Problem weg, aber der ioBroker kann nicht mehr auf die MariaDB-10-Datenbank zugreifen, weil der Port 3307 anderweitig belegt zu sein scheint. Dummerweise erhalte ich auch bei anderen Ports immer dieselbe Meldung, wenn ich im Container den entsprechenden Port für Maria DB einstellen will. Das war auch der Grund, weshalb ich den Host-Modus verwendet habe. Jemand eine Idee, wie ich das im Bridge-Modus gelöst bekomme? Oder muss ich doch wieder auf den Host-Modus gehen?
-
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Oder muss ich doch wieder auf den Host-Modus gehen?
Um mir mal diese Frage selbst zu beantworten. Muss ich wohl. Denn leider habe ich im Bridge-Modus Probleme mit dem Zugriff auf meine Maria-DB-10-Datenbank. Die ist derzeit auf der DiskStation als Paket installiert und unter Port 3307 erreichbar. Wenn ich den Port aber im Container aktivieren will, kommt immer der Hinweis, dass er bereits belegt sei. Egal, welchen Port ich hier verwenden möchte, es ist immer dasselbe Problem.
Also besser doch wieder zurück zum Host-Modus.
Warum nicht MACVLAN? Nun, da erinnere ich mich an Probleme mit dem yahka-Adapter, denn die Homekit-Steuerzentrale konnte die entsprechende Homebridge nicht finden.
-
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Denn leider habe ich im Bridge-Modus Probleme mit dem Zugriff auf meine Maria-DB-10-Datenbank. Die ist derzeit auf der DiskStation als Paket installiert und unter Port 3307 erreichbar. Wenn ich den Port aber im Container aktivieren will, kommt immer der Hinweis, dass er bereits belegt sei.
Verstehe ich nicht. Warum willst du den Port auch im Container öffnen? Der ist doch nur für die eingehende Verbindung zur Datenbank interessant? Außerdem brauchst du für die Verbindung zur Datenbank überhaupt keinen Port öffnen. Im Bridge Netzwerk ist das Gateway gleich deiner Disk Station. Versuch mal im iobroker als Verbindung zur Datenbank das Gateway aus dem Bridge Netzwerk ein zu tragen und dann den Port 3307... Sollte eigentlich gehen...
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Warum nicht MACVLAN? Nun, da erinnere ich mich an Probleme mit dem yahka-Adapter, denn die Homekit-Steuerzentrale konnte die entsprechende Homebridge nicht finden.
Und das funktioniert im Bridged Mode?
MfG,
André -
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hm. Da sehe ich aber keinen Zusammenhang zu dem bei mir angezeigten Fehlercode 1. Oder habe ich da ein Verständnisproblem?
Ja. Habe mich mal auf die Suche gemacht. Der Fehler sagt zwar Fehlercode 1. Problem ist aber das was danach kommt...
Das ist genau der Fehler aus dem Issue beim Adapter. Offenbar ist das Problem, dass die Config Datei vom Open SSL nicht gefunden wird. Hab gerade mal versucht das mit den Workarounds die ich so gefunden habe "einfach" zu fixen. Leider ohne Erfolg. Denke auch nicht dass das was ist, was im Container gefixt werden muss. Betrifft wohl generell das OS Debian Buster. Sollte also eher im Adapter gefixt werden oder sogar in phantomjs(???).
Sorry.MfG,
André -
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
...Versuch mal im iobroker als Verbindung zur Datenbank das Gateway aus dem Bridge Netzwerk ein zu tragen und dann den Port 3307... Sollte eigentlich gehen...
Jepp. So funktionier es.
Und das funktioniert im Bridged Mode?
Nee. Sehe gerade, dass die Homebrigdes im Bridged Mode doch nicht gefunden werden. Gibt's da ggf. auch einen Workaround?
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Sollte also eher im Adapter gefixt werden oder sogar in phantomjs(???).
Alles klar. Das hilft mir zumindest insofern weiter, als ich nicht mehr weitersuchen muss. Danke.
EDIT: Hab gerade gesehen, dass du ja auch schon was im betreffenden Issue zum phantomjs-Adapter gepostet hattest.
-
So, hab die Lösung für das phantomjs-Problem unter Debian Buster gefunden. Und zwar habe ich hier den nötigen Hinweis erhalten.
Einfach die foglenden beiden Einträge unter "Umgebung" hinzufügen.
Das war's.
Bis dann,
Thorsten
-
@dtp Auf dem Pfad mit der Umgebungsvariable war ich auch. Hatte ich bei github gelesen. Allerdings hatte ich zum Testen versucht die Variable innerhalb des Containers temporär zu setzen. Als das nicht geklappt hatte, hab ich das verworfen
MfG,
André -
@dtp
Da warst du aber hartnäckig ....(Gerade selber in der Umgebung alles eingegeben ... Top )
-
@Glasfaser Freut mich, dass es funktioniert.
@andre Macht es Sinn, wenn du diese Umgebungswerte als Standard für den Container mit aufnimmst?
-
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@andre Macht es Sinn, wenn du diese Umgebungswerte als Standard für den Container mit aufnimmst?
PACKAGES: Klares NEIN. Ich kann nicht jedes Paket, dass von einem Adapter zusätzlich benötigt wird mit in das Image packen. Das Image ist Stand heute eigentlich schon viel zu groß.
OPENSSL_CONF: Muss ich mal recherchieren was das genau macht. Bisher ist das nirgends aufgefallen. Eventuell macht es eher Sinn das als Hinweis zum Adapter auf Github auf zu nehmen. So wie auch das benötigte Paket. Wenn diese Variable auch noch für andere Sachen gut ist spricht aber nichts dagegen die als Standard einzuführen...
MfG,
André