NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
ker-Entwickler zu Wort melden, aber eigentlich gibt es zu diesem Thema auch so schon eine Menge Lesestoff im Forum. Und letzten Endes ist das auch
Also ich kann auch nur Berichten das das es bisher alles ssuper läuft
Was mich halt stört ein Rebuild Killt meine Netzwerkeinstellungen. Ich habe MACVALNs Bridged usw. drin.
Leider übernimmt er nicht die feste IP von dem MACVLAN ( aus deinem Tutorial geht es da MACVALN nur eine IP hat
Ich habe aber ein MACVLAN mit mehreren Ip.Aber das ist woh eher ein Docker Problem mit den wechselnden IPS usw. Aktuell versuche ich per Hostename = Docker Container Name zu arbeiten.
( Reserve Proxy auf der DS nimmt diese aber nicht nur die IP .. -
@ChrisXY , Du kannst bei der Erstellung des Docker Containers eine feste IP mitgeben, die dann bei jedem Start des Containers gezogen wird.
Am einfachsten ist es die feste IP Adresse mit Portainer einzurichten. Sonst mit dem Parameter --ip sollte es gehen. -
ja habe ich im Portainer Edit: Dann Network gewählt ( Man kann nur eins ) Dort IP4 die IP eingetragen.
Installiert.
Wärend es läuft die andere Netze Hinzugefügt.
So wenn ich nun rebuild mache nimmt der die IP nicht mit ..
Ich muss also immer über EDIT gehen und die IP neu der Macvlan eintragen.. wenn nicht nimmt er per Zufall irgendwas. -
@ChrisXY , was meinst Du mit 'rebuild'. Erstellst Du die Container ständig neu? Ich habe die eine IP Range von ca. 192.168.1.81 bis 192.168.1.91 . Nun habe ich alle Container die eine feste IP Adressen erhalten eine absteigend von 192.168.1.91 vergeben. D.h erste .91, .90, .89 usw. Hintergrund ist, dass bei einem Neustart von Docker die IP Adressen von .81 aufsteigend dynamisch vergeben werden. Und dann ist die IP Adresse für die feste IP Adresse schon vergeben.
-
-
@andre
@Negalein
@Stuebi
@tugsiIch habe es nun doch gleich noch probiert (VPN FritzBox)
VPN über die Fritzbox und macvlan funktioniert.
VPN über die Synology (IPSec) funktioniert bei mir nicht.
Keine Ahnung was der VPN Server der Synology anders macht bzw. ob man das auch auf der Synology anders einstellen könnte. -
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre
@Negalein
@Stuebi
@tugsiIch habe es nun doch gleich noch probiert (VPN FritzBox)
VPN über die Fritzbox und macvlan funktioniert.
VPN über die Synology (IPSec) funktioniert bei mir nicht.
Keine Ahnung was der VPN Server der Synology anders macht bzw. ob man das auch auf der Synology anders einstellen könnte.OK, da ich VPN mit der Fritz schon gemacht hatte, als ich noch kein DS hatte, war mir auch gar nicht der Gedanke gekommen, den woanders aufzubauen.
Ich sehe es auch als "bessere" Variante direkt am "Eingang" den Tunnel aufzubauen.
Aber ist vielleicht auch Geschmacksache.Aber schön zu sehen, dass man jetzt sagen kann, wo es nicht funktioniert, warum ist ja noch ein anderes Thema
-
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre
@Negalein
@Stuebi
@tugsiIch habe es nun doch gleich noch probiert (VPN FritzBox)
VPN über die Fritzbox und macvlan funktioniert.
VPN über die Synology (IPSec) funktioniert bei mir nicht.
Keine Ahnung was der VPN Server der Synology anders macht bzw. ob man das auch auf der Synology anders einstellen könnte.Genau so habe ich es erwartet. Das ist, weil du per VPN ja über die DS rein kommst und die DS ja nicht mit dem ioB kommunizieren kann (siehe oben). Jetzt könnte man m as l versuchen den ioB mal über seine bridge-Netz IP zu erreichen. Könnte aber sein, dass man dazu auf dem VPN Client noch eine Route einrichten muss... Kann ich aber nicht sicher sagen, ist alles nur Theorie. Habe keine Möglichkeit das zu verifizieren.
Hast du an deiner DS eventuell noch ne freie Netzwerkschnittstelle? Vielleicht wäre es sinnvoll die DS mit nem zweiten Bein (zweite IP) ins Netz zu bringen und macvlan auf diese Schnittstelle um zu konfigurieren. Das sollte auf jeden Fall funktionieren...MfG,
André -
@andre
ja, habe noch eine frei. Kann ich am WE mal ausprobieren. -
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Vielleicht wäre es sinnvoll die DS mit nem zweiten Bein (zweite IP) ins Netz zu bringen und macvlan auf diese Schnittstelle um zu konfigurieren. Das sollte auf jeden Fall funktionieren...
Heißt dann aber, dass ich den zweiten LAN-Port meiner DS718+ dann auch physikalisch mit meinem Netzwerk verbinden muss, oder? Ein Rerouting von LAN-Port 1 auf LAN-Port 2 innerhalb der DS ist vermutlich nicht möglich?
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Vielleicht wäre es sinnvoll die DS mit nem zweiten Bein (zweite IP) ins Netz zu bringen und macvlan auf diese Schnittstelle um zu konfigurieren. Das sollte auf jeden Fall funktionieren...
Heißt dann aber, dass ich den zweiten LAN-Port meiner DS718+ dann auch physikalisch mit meinem Netzwerk verbinden muss, oder? Ein Rerouting von LAN-Port 1 auf LAN-Port 2 innerhalb der DS ist vermutlich nicht möglich?
Ja, der Port muss dann natürlich auch mit ins Netzwerk.
-
So,
hab jetzt mal den LAN2-Anschluss meiner DS718+ mit der IP-Adresse 192.168.0.11 aktiviert. LAN1 hatte ja bereits die IP-Adresse 192.168.0.10.
Danach habe ich MACVLAN mit der Netzwerk-Karte eth1 (für LAN1) und der IP-Adresse 192.168.0.12 erstellt, um schließlich unter dieser IP-Adresse den ioBroker-Container anzulegen.
Nun klappt auch wieder der Zugriff vom ioBroker auf die unter der IP-Adresse 192.168.0.10 laufenden mariaDB-10-Datenbank über den SQL-Adapter.
Sieht soweit also ganz gut aus, wenn da nicht noch das Problem mit dem Update des js-controllers wäre. Oder geht das mittlerweile auch?
-
@dtp
den jscontroller habe ich damit gemacht -
@dtp
hier auch eine Anleitung.https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten
-
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@dtp
den jscontroller habe ich damit gemacht@dtp dem kann ich nur beipflichten, habe heute auch mein jsController so upgedatet.
erstpskill io
dann
iobroker upgrade self
danach habe ich noch
npm rebuild
gemacht und danach den iobroker wieder gestartet mit
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
Jetzt rennt der auf der Version 5.11
-
So, ich habe jetzt von V1 auf V2 upgegradet. Das läuft seit ein paar Tagen stabil.
Für V3 heißt es in der Anleitung von Andre „Mit dem Bridged Mode hingegen kann man als Einsteiger nicht viel falsch machen. Allerdings muss hierbei jeder benötigte (Kommunikations-)Port separat als Weiterleitung im Container eingetragen sein.“.
Bisher bin ich mit dem Host-Modus ausgekommen. Obwohl es ja nicht funktionieren soll. Oder gilt das nur für die V3?
Jedenfalls fühle ich mich als Netzwerk-Einsteiger und würde es mit dem Bridge-Mode versuchen. Aber in der Anleitung wird der Bridge-Mode vernachlässigt. Wo muss man in Portainer die Ports konfigurieren? Muss man unbedingt neue Ports definieren? Hatte bisher ja auch keine Probleme.
Kann vielleicht jemand kurz die Konfiguration des Bridge-Mode erklären?
Danke und Gruß
Bongo -
ich bin jetzt genau so vorgegangen mit eth1 wie @dtp .
Nun funktioniert alles wie gewünscht. Auch VPN der DS funktioniert nun wieder.@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
So,
hab jetzt mal den LAN2-Anschluss meiner DS718+ mit der IP-Adresse 192.168.0.11 aktiviert. LAN1 hatte ja bereits die IP-Adresse 192.168.0.10.
Danach habe ich MACVLAN mit der Netzwerk-Karte eth1 (für LAN1) und der IP-Adresse 192.168.0.12 erstellt, um schließlich unter dieser IP-Adresse den ioBroker-Container anzulegen.
Nun klappt auch wieder der Zugriff vom ioBroker auf die unter der IP-Adresse 192.168.0.10 laufenden mariaDB-10-Datenbank über den SQL-Adapter.
Sieht soweit also ganz gut aus, wenn da nicht noch das Problem mit dem Update des js-controllers wäre. Oder geht das mittlerweile auch?
-
@Bongo sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Für V3 heißt es in der Anleitung von Andre „Mit dem Bridged Mode hingegen kann man als Einsteiger nicht viel falsch machen. Allerdings muss hierbei jeder benötigte (Kommunikations-)Port separat als Weiterleitung im Container eingetragen sein.“.
Bisher bin ich mit dem Host-Modus ausgekommen. Obwohl es ja nicht funktionieren soll. Oder gilt das nur für die V3?
Das gilt nur für die V3.
Jedenfalls fühle ich mich als Netzwerk-Einsteiger und würde es mit dem Bridge-Mode versuchen. Aber in der Anleitung wird der Bridge-Mode vernachlässigt. Wo muss man in Portainer die Ports konfigurieren? Muss man unbedingt neue Ports definieren? Hatte bisher ja auch keine Probleme.
Kann vielleicht jemand kurz die Konfiguration des Bridge-Mode erklären?
Wie André schon schreibt, muss jeder Port der benötigt wird für deinen Container, auf einen Port nach "aussen" gelegt werden.
Du hast ja im Bridgemodus nicht mehr eine 192.168.x.x Adresse in Deinem Netzwerk, sondern eine 172.17.0.x (in meinem Fall), somit kannst Du von einem Laptop bzw anderen PC da nicht drauf zugreifen, da es die IP-Adresse in Deinem Netzwerk so nicht gibt. Dies übernimmt Docker für Dich.
Jetzt brauchst Du für ioBroker den Port 8081 und für die vis 8082 als Beispiel.
Da kommt jetzt das Portmapping ins Spiel.
Du musst Deinem Container sagen, auf welchen Port er ausserhalb hören soll und wohin er intern leiten soll.
Beispiel:
Deine DS hat 192.168.0.1
Jetzt machst Du ein Portmapping des Ports 12333 auf intern 8081 und 12334 auf 8082.
Dies kannst Du in Deinem Container unter EDIT - Ports Configuration - Port mapping machen:
Vorne den host lässt Du mit 0.0.0.0 stehen, der nimmt sich dann automatisch die IP Deiner DS.
Wenn Du jetzt Deine DS mit http://192.168.0.1:12333 aufrufst, dann leitet der in den Dockercontainer auf die 8081 weiter und Du siehst die Adminseite vom ioBroker.Dies hat den Vorteil, dass Du auch mehrere ioBrocker-Container zB zum testen fahren kannst, ohne das sich die Ports behindern, denn Du vergibst ja "freie" Ports.
Du kannst natürlich nicht den Port 5000 benutzen, den braucht die DS selber oder diverse andere, die eventuell Pakete auf der DS benutzen.Wie Du siehst, im Grunde ganz simple
-
@tugsi
Danke, das bringt mich schon mal weiter.
Habe nun auch das Port mapping in Portainer gefunden. Die Umleitung von 8081 und 8082 im Bridge-Mode funktioniert dank deiner Hardcopy.
Aber Homematic macht Probleme. Es werden Statusänderungen in ioBroker an Homematic-Geräte übertragen aber der umgekehrte Weg wenn zum Beispiel ein Homematic-Lichtschalter getätigt wird, wird der Status nicht in ioBroker übertragen.
Das hängt natürlich/vermutlich mit den Ports zusammen. Aber ich checke das nicht.
Hier mein Port mapping:
Und die Einstellung im Adapter:
Vielleicht kann noch ein Homematicer helfen. -
Ist vielleicht zu diesem Zeitpunkt eine ziemlich dämliche Frage, aber wo liegen eigentlich die Vorteile der Version 3 mit MACVLAN gegenüber der Version 2 mit node v8.16.0?