NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Bin nach der (tollen!) Anleitung von André vorgegangen. Dann kam ich nicht weiter.
@dan11hh:Ich NOOB hab folgendes Problem:
Nach root@ioBroker:/opt/iobroker# iobroker host this
bekomme ich immer folgende Fehlermeldung
No connection to states 127.0.0.1:6379[redis]
Kann mir jemand helfen? Danke!
Wenn du states db und object db auf file stellst sollte iob eigentlich wieder starten.
Bei Interesse kannst du später Immer noch auf redis wechseln...
BTW, hast du das hier gesehen?
https://buanet.de/2018/08/mehr-performa ... states-db/
MfG,
André
Gesendet von unterwegs... `
Danke Dir André dafür. Das hatte ich noch nicht gesehen.
Soweit läuft "host this" nun auch. Und es kommt keine Fehlermeldung wenn ich iobroker starte, ABER ich komme nicht aufs Webinterface.
iobroker status ````ergibt leider folgendes:
iobroker@iobroker:/opt/iobroker$ iobroker status
iobroker is running
Ready check failed: Connection forcefully ended and command aborted. It might h
ave been processed.
AbortError: Ready check failed: Connection forcefully ended and command aborted
. It might have been processed.
at RedisClient.flush_and_error (/opt/iobroker/node_modules/redis/index.js:36
2:23)
at RedisClient.end (/opt/iobroker/node_modules/redis/lib/extendedApi.js:52:1
4)
at StateRedis.destroy (/opt/iobroker/node_modules/iobroker.js-controller/lib
/states/statesInRedis.js:272:20)
at processExit (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.
js:2820:44)
at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:312:25
at Object.connected (/opt/iobroker/node_modules/iobroker.js-controller/lib/s
etup.js:3124:70)
at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib
/objects/objectsInMemClient.js:120:68)
at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/no
de_modules/component-emitter/index.js:133:20)
at Socket.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modul
es/socket.io-client/lib/socket.js:138:10)
at Socket.onconnect (/opt/iobroker/node_modules/iobroker.js-controller/node_
modules/socket.io-client/lib/socket.js:335:8)
[1]+ Getötet node node_modules/iobroker.js-controller/controlle
r.js > /opt/scripts/docker_iobroker_log.txt 2>&1</anonymous>Muss zugegeben, ichhab jetzt tatsächlich mal die letzte Beta *räusper* installiert, wenn es daran hängt, dann sorry. ;) EDIT: Wenn ich alles auf file stelle, bekomme ich zwar keinen Fehler mehr in der Statusausgabe, aber das WebGUI ist immer noch nicht erreichbar. In Docker natürlich shared network eingestellt. Hmmm
-
Für den externen Zugriff auf meinen NAS, auf dem auch die ioBroker-Installation läuft, habe ich übrigens einige Ports in meiner Fritzbox weitergeleitet, z.B. für Synology-Dienste wie Drive etc. Kann das zum Problem werden?
Besten Dank für eure Hilfe und viele Grüße
Syndrom `
Das würde ich nicht machen. Geh lieber über ein VPN rein. Das wäre deutlich sicherer. `
Bezieht sich diese Aussage speziell darauf, dass auf dem NAS in Docker die ioBroker-Installation läuft? Oder würdest du das prinzipiell nicht machen?
Ich habe die weitergeleiteten Ports gestern mal mit meinem Laptop aus meinem lokalen Netzwerk mit https://www.heise.de/security/dienste/p … ?scanart=1 getestet. Für alle bekomme ich einen grünen Eintrag mit Status "gefiltert". Siehst du das trotzdem als Problem?
VPN ist leider nicht immer machbar, da ich z.B. auch mal aus dem Firmennetzwerk auf den NAS zugreifen möchte. Da kann ich mich nicht immer in ein VPN einwählen.
Für ioBroker selbst werde ich selbstverständlich keine Ports weiterleiten.
-
Hallo zusammen,
…
Ich konnte hier leider keine Anleitung finden welche Sicherheitseinstellungen notwendig sind.
Aktuell ist meine Installation lokal nur über http erreichbar. Mein erster Wunsch wäre daher erstmal die Kommunikation vollständig auf https um zustellen.
Für meine Synology bzw. deren externe Domain nutze ich jedoch schon ein "Let's encrypt"-Zertifikat. Kann ich dennoch für ioBroker ein eigenes Let's encrypt-Zertifikat verwenden?
Ich benötige erstmal nur den Zugriff https://<meine-ip>:ioBrokerhttpsport
Daher bin ich mir nicht sicher, ob sich dafür die Vorgehensweise von Stübi eignet. Meinem Verständnis nach ist das für den Zugriff auf die Installation über eigene Domain
...</meine-ip> `
Also ich habe eine Domain bei 1und1 (ist aber egal von wem du die hast) mit dem Namen mydomain.de . Jetzt habe ich mir SubDomains bei 1und1 dafür angelegt wie z.B. nas.mydomain.de und ibroker-admin.mydomain.de und ioBroker.mydomain.de. jetzt habe ich mir für die Domain und Subdomains ein Lets Encrypt Zertifikat geholt und auf der NAS hinterlegt. Anschließend auf der Fritzbox nur Port 443 freischalten mit Forward auf deine NAS mit Port 443. In ioBroker die Authentifizierung anstellen (mit oder ohne SSL kannst dir überlegen).
Nun auf der NAS ein Reverse Proxy mit ioBroker.mydomain.de , Port 443 auf die lokale IP Adresse (Hostname) von ioBroker mit Port 8081 einrichten.
Gesendet von iPhone mit Tapatalk
-
Okay, ich denke die Vorgehensweise habe ich verstanden.
Aber brauchst du das aus Sicherheitsgründen nur weil du von außen auf deine ioBroker-Installation zugreifen willst oder würdest du das auch machen, wenn du ausschließlich lokal innerhalb deines Heimnetzes auf ioBroker zugreifen würdest bzw. über den Cloud Adapter mit Alexa?
-
Okay, ich denke die Vorgehensweise habe ich verstanden.
Aber brauchst du das aus Sicherheitsgründen nur weil du von außen auf deine ioBroker-Installation zugreifen willst oder würdest du das auch machen, wenn du ausschließlich lokal innerhalb deines Heimnetzes auf ioBroker zugreifen würdest bzw. über den Cloud Adapter mit Alexa? `
Dann würde ich den Aufwand nicht betreiben.Gesendet von iPhone mit Tapatalk
-
Hallo,
hat von euch jemand den synology adapter
> [https://github.com/instalator/ioBroker.synology](https://github.com/instalator/ioBroker.synology)
unter der Docker Instalation am laufen?Bei mir bleibt der Adapter immer gelb, ich vermute das es mit der Netzwerkadresse Probleme gibt.
broker `
Nutzt du deinen Docker Container mit macvlan? Falls ja, wäre das eine Erklärung…
` > Communication with the Docker host over macvlan
When using macvlan, you cannot ping or communicate with the default namespace IP address. For example, if you create a container and try to ping the Docker host’s eth0, it will not work. That traffic is explicitly filtered by the kernel modules themselves to offer additional provider isolation and security.
A macvlan subinterface can be added to the Docker host, to allow traffic between the Docker host and containers. The IP address needs to be set on this subinterface and removed from the parent address. `
https://docs.docker.com/v17.09/engine/u … mple-usage
MfG,
André
-
Bin nach der (tollen!) Anleitung von André vorgegangen. Dann kam ich nicht weiter. ` Nimm redis erstmal raus. Das geht per "iobroker setup custom"… Dazu gibt es auch was in der offiziellen Doku.
Wenn du states db und object db auf file stellst sollte iob eigentlich wieder starten.
Bei Interesse kannst du später Immer noch auf redis wechseln...
BTW, hast du das hier gesehen?
https://buanet.de/2018/08/mehr-performa ... states-db/
MfG,
André
Gesendet von unterwegs... `
Danke Dir André dafür. Das hatte ich noch nicht gesehen.
Soweit läuft "host this" nun auch. Und es kommt keine Fehlermeldung wenn ich iobroker starte, ABER ich komme nicht aufs Webinterface.
iobroker status ````ergibt leider folgendes:
iobroker@iobroker:/opt/iobroker$ iobroker status
iobroker is running
Ready check failed: Connection forcefully ended and command aborted. It might h
ave been processed.
AbortError: Ready check failed: Connection forcefully ended and command aborted
. It might have been processed.
at RedisClient.flush_and_error (/opt/iobroker/node_modules/redis/index.js:36
2:23)
at RedisClient.end (/opt/iobroker/node_modules/redis/lib/extendedApi.js:52:1
4)
at StateRedis.destroy (/opt/iobroker/node_modules/iobroker.js-controller/lib
/states/statesInRedis.js:272:20)
at processExit (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.
js:2820:44)
at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:312:25
at Object.connected (/opt/iobroker/node_modules/iobroker.js-controller/lib/s
etup.js:3124:70)
at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib
/objects/objectsInMemClient.js:120:68)
at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/no
de_modules/component-emitter/index.js:133:20)
at Socket.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modul
es/socket.io-client/lib/socket.js:138:10)
at Socket.onconnect (/opt/iobroker/node_modules/iobroker.js-controller/node_
modules/socket.io-client/lib/socket.js:335:8)
[1]+ Getötet node node_modules/iobroker.js-controller/controlle
r.js > /opt/scripts/docker_iobroker_log.txt 2>&1</anonymous>Muss zugegeben, ichhab jetzt tatsächlich mal die letzte Beta *räusper* installiert, wenn es daran hängt, dann sorry. ;) EDIT: Wenn ich alles auf file stelle, bekomme ich zwar keinen Fehler mehr in der Statusausgabe, aber das WebGUI ist immer noch nicht erreichbar. In Docker natürlich shared network eingestellt. Hmmm `
Deine gepostete Fehlermeldung habe ich gestern beim Rumtetsten auch gesehen. Scheint aber normal zu sein.
viewtopic.php?f=22&t=13998&p=215875&hil … nd#p215875
Könnte an der Beta liegen. Habe gestern nochmal was anpassen müssen, weil ioB nicht sauber gestartet ist. Lade mal Beta neu.
Ich weiß zwar nicht sicher was du mit "shared network" meinst, aber falls das der host modus ist, dann wird das nicht funktionieren. Läuft leider auf der DS seit der Änderung der ioBroker Setup-Routine nicht mehr… Da es jedoch unter Debian + Docker weiterhin läuft denke ich, dass es ein Synology Problem ist... Genau konnte ich das aber noch nicht ermitteln...
MfG,
André
PS: Im Docker-Container auf der Synology Weboberfläche gibt es die Tabs "Prozess" und "Protokoll". Damit ich zuverlässig unterstützen kann wäre es hilfreich immer den Inhalt von dort mit zu posten... Meist kann ich daran schon erkennen wo es klemmt oder es zumindest eingrenzen...
-
Eine Frage an die Pros die MACVLAN nutzen:
Welche Lösungen gibt es dazu?
` > Communication with the Docker host over macvlan
When using macvlan, you cannot ping or communicate with the default namespace IP address. For example, if you create a container and try to ping the Docker host’s eth0, it will not work. That traffic is explicitly filtered by the kernel modules themselves to offer additional provider isolation and security.
A macvlan subinterface can be added to the Docker host, to allow traffic between the Docker host and containers. The IP address needs to be set on this subinterface and removed from the parent address. `
Bisher sehe ich zwei Möglichkeiten:
-
Verzicht auf Host Kommunikation (Redis, SQL DB nicht von der DS, sondern auch aus Containern nutzen)
-
Sekundäre Netzwerkkarte mit eigener IP-Adresse auf die MACVLAN gebunden wird und somit die Kommunikation zur DS möglich macht
Weitere Ideen? Danke.
MfG,
André
-
-
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
-
@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é
-
EDIT
Hab es selbst hinbekommen (Juhuu). Ein
iobroker set admin.0 --bind XXX.XXX.XXX.111
hat geholfen. Kenne mich mit Bindung usw. leider nicht aus.
Original Post:
` >@andre:Ich weiß zwar nicht sicher was du mit "shared network" meinst, aber falls das der host modus ist, dann wird das nicht funktionieren. Läuft leider auf der DS seit der Änderung der ioBroker Setup-Routine nicht mehr… Da es jedoch unter Debian + Docker weiterhin läuft denke ich, dass es ein Synology Problem ist... Genau konnte ich das aber noch nicht ermitteln...
MfG,
André
PS: Im Docker-Container auf der Synology Weboberfläche gibt es die Tabs "Prozess" und "Protokoll". Damit ich zuverlässig unterstützen kann wäre es hilfreich immer den Inhalt von dort mit zu posten... Meist kann ich daran schon erkennen wo es klemmt oder es zumindest eingrenzen... `
Jap. Meinte den host modus. Und der scheint mir auch Probleme zu machen. Es geht um den Umzug eines bestehenden (PI-) Systems auf die DS218+. Bin nach deiner Anleitung vorgegangen und habe über ein *tar Archive alles rüberkopiert. Und den Container im Host Modus erstellt. Leider ist das Admin Webinterface nach der Kopieraktion nicht zu erreichen (vorher als blankes System schon). Jetzt weiß ich auch warum.
iobroker@iobroker:/opt/iobroker$ iobroker list instances system.adapter.admin.0 : admin - enabled, port: 8081, bind: XXX.XXX.XXX.121, run a s: admin
Das ist noch die alte Adresse meines PIs. Keine Wunder, dass das nicht klappt.
Die DS218+ ist bei mir eigentlich unter (XXX.XXX.XXX.111) ereichbar. In welche *.conf Datei kann ich denn die IP der IOBroker Installation ändern? Würde mich da sehr über Hilfe freuen!
Danke Dir für Deine Geduld und Deinen Einsatz! `
-
Wie kann ich ioBroker für ein Update stoppen?
Mit
iobroker stop
erhalte ich die Meldung "iobroker controller daemon is not running".
Grüße
Crazy -
@Crazy sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie kann ich ioBroker für ein Update stoppen?
Mit
iobroker stop
erhalte ich die Meldung "iobroker controller daemon is not running".
Grüße
Crazyhttps://buanet.de/2017/09/iobroker-unter-docker-auf-der-synology-diskstation/6/
-
-
Keule, was ist das denn für eine fordernde Frage? Normalerweise antworte ich auf sowas ja aus Prinzip schon nicht. Ich mache das hier freiwillig und ohne Bezahlung in meiner FREIZEIT... Und eine wundervolle Familie habe ich auch... Außerdem liegt der komplette Quellcode offen! Hast Glück dass heute so ein sonniger Tag war...
In der aktuellen BETA, die bei mir seit einer Woche stabil läuft, laufen node v8.15.0 und npm 6.4.1.
Feel free to use it! Zum stable mach ich das ganze wenn ich die neue Anleitung fertig habe. Hat sich einiges geändert, deshalb will ich es nicht ohne weitere Erklärungen auf euch los lassen.
Und mal ganz davon abgesehen kannst du jederzeit npm und node selbst updaten. Dazu musst du nur die Kommandozeile bemühen...MfG,
André -
@andre
Nur mal so zur Info. Bei mir läuft seit 2 Wochen 8.15 und 6.4.1
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Keule, was ist das denn für eine fordernde Frage?
Sorry, wenn du das als "fordernde Frage" aufgefasst hast.
War so nicht gemeint und würde ich auch nie fordern!
War nur eine ganz normale Frage wie jede andere auch!@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Zum stable mach ich das ganze wenn ich die neue Anleitung fertig habe. Hat sich einiges geändert, deshalb will ich es nicht ohne weitere Erklärungen auf euch los lassen.
Deshalb warte ich auch lieber auf deine Beschreibung.
Hat mir beim letzten mal schon sehr geholfen!@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Und mal ganz davon abgesehen kannst du jederzeit npm und node selbst updaten. Dazu musst du nur die Kommandozeile bemühen...
Wenn ich wüsste wie!
Ich hab im Netzt mehrere Anleitungen gefunden. Bin mir aber nicht sicher ob es im Docker auch so funktioniert!Würde es mit diesen Befehlen funktionieren?
sudo npm cache clean -f
sudo npm update npm -g
sudo npm install -g n
sudo n stableDa steht ja nur was von NPM!
Oder wird da NPM und NODE upgedatet?Danke
-
@Segway sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Nur mal so zur Info. Bei mir läuft seit 2 Wochen 8.15 und 6.4.1
Kannst du mir da bitte weiterhelfen?
-
@Negalein sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Kannst du mir da bitte weiterhelfen?
Öhm, inwiefern?
-
@Segway sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Öhm, inwiefern?
Wie ich am besten im Docker auf der Synology (Installiert lt. Andre's Anleitung) auf Node 8.14.0 und NPM 6.4.1 update.