NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo André,
danke für Deine Antwort. Zu V3 habe ich bestimmt noch Fragen wenn ich soweit bin. Habe heute mal versucht V2 zu installieren. Nach dem Start des Containerns hatte ich Zugriff auf die Weboverfläche von iobroker. Aber das log sah nicht gut aus (Fehler wegen Node Versionen). Habe dann einfach über die Konsole den reinstall durchgeührt. Nach einer gefühlten Ewigkeit war die Installation beendet und die Fehler im ioBroker log weg.
Muss man nicht zwangsweise auch ein iobroker host this durchführen?
Insgesamt schien auf jeden Fall alles zu laufen bis auf yahka. Der blieb rot. Einmal gestoppt und gestartet und er wurde auch grün. Nur waren alle meine Geräte nicht in der Konfiguration von yahka. Ich habe den V2 Container erstmal gestoppt und den alten wieder gestartet. Dort funktioniert wie erwartet noch alles. Ich werde es nochmal probieren. Ich vermute das Synology hatte noch nicht alles kopiert vom iobroker-daten Verzeichnis. Nach dem Stoppen vom Container zwei kam auf einmal der Hinweis in der Synology OPberfläche das es fertig ist mit dem kopieren. War evtl zu ungeduldig.
Für den nächsen Test habe ich aber noch eine Zusatzfrage: Sollte ich beim nächsten Test vor dem reinstall noch iobroker host this machen? Oder danach? Wann aktualisiere ich am besten den js-Controller? Und zu guter letzt sollte ich iobroker vorher per Terminal stoppen?
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Versuchs mal mit der 172.17.0.1 im SNMP...
Danke, das wars!
So, jetzt werde ich V3 als Hauptinstallation verwenden.
-
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
define telnetPort telnet 7072 global
okay danke das GLOBAL fehlte wohl hatte so ein docker fhem .. nu läuft es. Hab den Container Namen genommen.
Leider geht nur IP bei Diskstation Reserve Proxy Wenn ich den Hostename eintrage sagt er nicht erreichbar ... Und da hab ich es auch das wenn ich es neu Starte eine neue IP bekomme .. dann muss ich den Reserve Proxy anpassen .. oh mannnnDu kannst die IP auch im container festlegen:
MfG,
AndréDanke Muss ich dafür echt immer auf EDIT und den Container ganz neu erstellen ?
Edit: Wichtig ist wohl das man oben Network bridged auswählt oder ? Weil im iob_public hat er ja schon eine ip. Hab damit eben mein Docker rzuerschossen g
-
hmm und unter bridged kann man wohl keine feste IP anlegen ..
user specified IP address is supported on user defined networks only
Schon krass das docker per zusallen das ganze vergibt und es sich nicht merkt ??????????? -
@cash sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Hallo André,
danke für Deine Antwort. Zu V3 habe ich bestimmt noch Fragen wenn ich soweit bin. Habe heute mal versucht V2 zu installieren. Nach dem Start des Containerns hatte ich Zugriff auf die Weboverfläche von iobroker. Aber das log sah nicht gut aus (Fehler wegen Node Versionen). Habe dann einfach über die Konsole den reinstall durchgeührt. Nach einer gefühlten Ewigkeit war die Installation beendet und die Fehler im ioBroker log weg.
Muss man nicht zwangsweise auch ein iobroker host this durchführen?
Nicht zwingend. Kommt drauf an ob dein ioBroker Container vorher einen anderen namen hatte. Schaden kann es aber nicht. Wenn der Name aber nicht stimmen würde, dann würdest du nicht auf den Admin kommen, bzw der wäre nicht gestartet. War bei mir zumindest so.
Insgesamt schien auf jeden Fall alles zu laufen bis auf yahka. Der blieb rot. Einmal gestoppt und gestartet und er wurde auch grün. Nur waren alle meine Geräte nicht in der Konfiguration von yahka. Ich habe den V2 Container erstmal gestoppt und den alten wieder gestartet. Dort funktioniert wie erwartet noch alles. Ich werde es nochmal probieren. Ich vermute das Synology hatte noch nicht alles kopiert vom iobroker-daten Verzeichnis. Nach dem Stoppen vom Container zwei kam auf einmal der Hinweis in der Synology OPberfläche das es fertig ist mit dem kopieren. War evtl zu ungeduldig.
Ich mache das immer per "cp" über die Kommandozeile der DS. Mit dem folgenden Befehl kopiert er alle Dateien mit Ausgabe auf der Kommandozeile. So siehst du immer wo er ist und wann er fertig ist. Kann schonmal ein wenig dauern...
cp -arv /volume1/docker/iobroker_data/. /volume1/docker/iobroker_data_bak
Für den nächsen Test habe ich aber noch eine Zusatzfrage: Sollte ich beim nächsten Test vor dem reinstall noch iobroker host this machen? Oder danach?
Wenn dann vorher.
Wann aktualisiere ich am besten den js-Controller?
Wenn alles läuft (Ich gehe aber davon aus, dass ioBroker das während des "reinstall.sh" automatisch auf die aktuelle Version zieht).
Und zu guter letzt sollte ich iobroker vorher per Terminal stoppen?
Ja, ioBroker immer stoppen.
MfG,
André -
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
define telnetPort telnet 7072 global
okay danke das GLOBAL fehlte wohl hatte so ein docker fhem .. nu läuft es. Hab den Container Namen genommen.
Leider geht nur IP bei Diskstation Reserve Proxy Wenn ich den Hostename eintrage sagt er nicht erreichbar ... Und da hab ich es auch das wenn ich es neu Starte eine neue IP bekomme .. dann muss ich den Reserve Proxy anpassen .. oh mannnnDu kannst die IP auch im container festlegen:
MfG,
AndréDanke Muss ich dafür echt immer auf EDIT und den Container ganz neu erstellen ?
Ja, das ist der Weg. Kleiner Tip. Vorher den Container stoppen. Ich habe es manchmal dass er es sonst nicht schafft den alten zu entfernen...
Edit: Wichtig ist wohl das man oben Network bridged auswählt oder ? Weil im iob_public hat er ja schon eine ip. Hab damit eben mein Docker rzuerschossen g
Ja, das im Screenshot ist mein iobroker-private netz (ein selbst angelegtes bridge netz). Bei iob_public sollte das auch gehen. nur muss die ip dann in dem bereich liegen in dem das iob_public liegt...
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
hmm und unter bridged kann man wohl keine feste IP anlegen ..
user specified IP address is supported on user defined networks only
Schon krass das docker per zusallen das ganze vergibt und es sich nicht merkt ???????????Das kann sein. Das standard bridged netz ist etwas eingeschränkt (hat auch keine namensauflösung)... denke das muss ich im Tutorial nochmal ergänzen...
MfG,
André -
ja im iob_Public kein Problem .. aber da abekomme ich ja die IP in meinem richtigen netz 192.168.2.100.... Auch nur eine einzige IP dort. Diese IP ista auch fest.
Wenn ich nun aber auf EDIT gehe kann ich nur 1 NETZ auswählen. Wenn ich hier bridge auswägle und die 17.2.0.2 nehmen will sagt er das geht nicht... Und gerade um dieses Netz geht es mir ja für die Interne verbindung von der Diskstation zum Container .. na gut dann MUSS ich da wohl nach jedem Neustart den Reserve Proxy anpassenAso wie schaut das aus wenn der iobroker mit dme Macvlan beim DHCP mitlauschen will ? Muss ich da was machen Port ? Oder geht das auch wieder nicht so einfach?
-
Moin,
bei mir funktioniert die Porweiterleitung nicht. IOB startet nur unter IP:32775. Wenn ich den Container stoppe und wieder starte, wird der Port um 1 erhöht (32776).muss ich den Container löschen und neu anlegen? Falls ja, was gebe ich dann bei Portweiterleitung ein?
VG
-
@efxz sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Moin,
bei mir funktioniert die Porweiterleitung nicht. IOB startet nur unter IP:32775. Wenn ich den Container stoppe und wieder starte, wird der Port um 1 erhöht (32776).muss ich den Container löschen und neu anlegen? Falls ja, was gebe ich dann bei Portweiterleitung ein?
VG
hat sich erledigt...Port 8081:8081
-
Wie es aussieht, gibt es ein Problem bei der Umstellung von host auf bridge network. Ich habe ein multihost System (auf der Synology ist der master).
Nach der Umstellung des Netzwerkes meint der liebe js-controller (1.5.9), dass keine Instanzen gestartet werden müssen.Fehler: Host on this system is not possible, because IP address is for states is 0.0.0.0
Ich habe dann die alte Version des container gestartet und es geht wieder alles.
Ist vermutlich etwas für @Bluefox ? -
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
ja im iob_Public kein Problem .. aber da abekomme ich ja die IP in meinem richtigen netz 192.168.2.100.... Auch nur eine einzige IP dort. Diese IP ista auch fest.
Wenn ich nun aber auf EDIT gehe kann ich nur 1 NETZ auswählen. Wenn ich hier bridge auswägle und die 17.2.0.2 nehmen will sagt er das geht nicht... Und gerade um dieses Netz geht es mir ja für die Interne verbindung von der Diskstation zum Container .. na gut dann MUSS ich da wohl nach jedem Neustart den Reserve Proxy anpassenNein, das musst du nicht. Lege dir einfach ein eigenes Bridged Netzwerk an. Dann kannst du auch feste IP-Adressen vergeben oder mit den Container-Namen arbeiten....
Aso wie schaut das aus wenn der iobroker mit dme Macvlan beim DHCP mitlauschen will ? Muss ich da was machen Port ? Oder geht das auch wieder nicht so einfach?
Was meinst du mit "mitlauschen"?
MfG,
André -
@cburghardt sorry das war mein Fehler. Man sollte den hostname nicht verändern
Jetzt läuft die Version 3 -
@cburghardt sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@cburghardt sorry das war mein Fehler. Man sollte den hostname nicht verändern
Jetzt läuft die Version 3War gerade dabei was zu schreiben... So ist aber auch gut...
-
@ChrisXY
Zum Thema eigenes Bridged Netzwerk...
Guckst du hier: https://buanet.de/knowledge-base/eigenes-bridged-netzwerk-anlegen/MfG,
André -
okay danke und wie stelle ich es nun an das ein Container also iobroker in diesem neuen Bridge dauerhaft die IP bekomme ?
Container > Stop > EDIT dann da unter Network das neue bridge auswählen eine IP dort im Netz festlegen. und erstellen ..So aber ich habe noch ein 2. Netzwerk wo ich ebenfalls eine feste IP für Vergeben will.. das geht wohl über Portainer nicht ? Da man bei EDIT immer nur ein Network auswählen kann.
Kann das sein ?
Achso und würde es nicht gehen ein macvlan zu erstellen mit mehren Ips ?
Aktuell in deinem Beispiel gibt es ja nur die 100er IP einmal.Ich will das das macvlan so ausschaut Gateway 192.168.2.254 und die range soll sein 192.168.2.200-220 ... da würde ich dann einfach ALLE meine Docker die mit Smarthome ezu tun reinhauen dann sind die als "echte" überall zu finden.
Hatte dein macvlan etwas angepasst : 192.168.2.200/24 nu vergibt er aber 192.168.2.1 ... die gibt es ja alle schon da das mein "echtes Netz" ist .. daher rnur 200-220
-
@ChrisXY sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
okay danke und wie stelle ich es nun an das ein Container also iobroker in diesem neuen Bridge dauerhaft die IP bekomme ?
Container > Stop > EDIT dann da unter Network das neue bridge auswählen eine IP dort im Netz festlegen. und erstellen ..So aber ich habe noch ein 2. Netzwerk wo ich ebenfalls eine feste IP für Vergeben will.. das geht wohl über Portainer nicht ? Da man bei EDIT immer nur ein Network auswählen kann.
Kann das sein ?
So weit bin ich da noch nicht vorgedrungen. Wüsste nicht ob es geht in nem zweiten Netz auch ne IP fest zu legen.... Was aber geht ist einen Container mit dem bridge Netz und der festgelegten IP zu verbinden und dann dem laufenden Container das MACVLAN netz hinzu zu fügen:
Achso und würde es nicht gehen ein macvlan zu erstellen mit mehren Ips ?
Aktuell in deinem Beispiel gibt es ja nur die 100er IP einmal.Ich will das das macvlan so ausschaut Gateway 192.168.2.254 und die range soll sein 192.168.2.200-220 ... da würde ich dann einfach ALLE meine Docker die mit Smarthome ezu tun reinhauen dann sind die als "echte" überall zu finden.
Hatte dein macvlan etwas angepasst : 192.168.2.200/24 nu vergibt er aber 192.168.2.1 ... die gibt es ja alle schon da das mein "echtes Netz" ist .. daher rnur 200-220
Natürlich kann man das MACVLAN-Netz auch größer anlegen. Dazu solltest du aber ein paar Netzwerk-Kenntnisse besitzen, damit Docker eben nicht IP-Adressen vergibt, die schon Geräte in deinem Netz besitzen...
Das hier könnte helfen....
https://www.heise.de/netze/tools/netzwerkrechner/
MfG,
André -
Ich habe noch mal eine Frage zur IP-Adresse für MACVLAN.
Meine eth0-Adresse der DiskStation lautet 192.168.0.10. Bisher habe ich den ioBroker im normalen Docker-Container unter derselben IP-Adresse laufen lassen. Mir scheint aber, dass MACVLAN damit ein Problem hat, wenn ich nun eth0 unter Parent Network Card einstelle und für den IP Range dieselbe Adresse 192.168.0.10/32 vergebe. Zumindest wollte der ioBroker damit nicht richtig laufen.
Mache ich das nicht und verwende stattdessen z.B. 192.168.0.11/32 als IP Range für MACVLAN, läuft der ioBroker zwar, aber ich habe dann das "Problem", dass ich mein bisheriges Mount-Verzeichnis (/volume1/docker/ioBroker) nicht ohne entsprechende Anpassungen für einige ioBroker-Adapter verwenden kann, weil die ja von der IP-Adresse 192.168.0.10 ausgehen.
Frage: Dürfen sich die mit der Parent Network Card verbundene IP-Adresse und der unter IP Range eingetragene Adressbereich nicht überlappen?
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich habe noch mal eine Frage zur IP-Adresse für MACVLAN.
Meine eth0-Adresse der DiskStation lautet 192.168.0.10. Bisher habe ich den ioBroker im normalen Docker-Container unter derselben IP-Adresse laufen lassen. Mir scheint aber, dass MACVLAN damit ein Problem hat, wenn ich nun eth0 unter Parent Network Card einstelle und für den IP Range dieselbe Adresse 192.168.0.10/32 vergebe. Zumindest wollte der ioBroker damit nicht richtig laufen.
Mache ich das nicht und verwende stattdessen z.B. 192.168.0.11/32 als IP Range für MACVLAN, läuft der ioBroker zwar, aber ich habe dann das "Problem", dass ich mein bisheriges Mount-Verzeichnis (/volume1/docker/ioBroker) nicht ohne entsprechende Anpassungen für einige ioBroker-Adapter verwenden kann, weil die ja von der IP-Adresse 192.168.0.10 ausgehen.
Frage: Dürfen sich die mit der Parent Network Card verbundene IP-Adresse und der unter IP Range eingetragene Adressbereich nicht überlappen?
Du hast ein Verständnisproblem anscheinend.
192.68.0.10 gehört Deiner DS, somit kommst Du im Grunde nur mit der IP auf die DS.
Erstellst Du im Docker einen Container mit dem Netzwerk HOST, dann benutzt der Container zwar diese IP-Adresse, aber legt sich auf einen anderen Port, entweder automatisch oder du vergibst den in den Einstellungen zur Portzuweisung.MACVLAN arbeitet da anders, da musst Du zwingend eine andere IP-Nummer vergeben, als Dein Host hat, ansonsten geht es nicht.
Mit der Zuweisung 192.168.0.10/32 vergibst Du genau eine IP-Adresse und zwar die .10 am Ende, der Begriff IP-Range ist irreführend in dem Moment, weil Du durch /32 die Adresse festnagelst.
Die 192.168.0.11/32 funktioniert, da der HOST (DiskStation) ja die .10 hat und anscheinend in Deinem Netzwerk auch die .11 noch nicht vergeben wurde.Du wirst nicht darum herumkommen, die Adapter anzupassen.
Btw, das habe ich auch gerade hinter mir, im Grunde ist das nicht viel, soviel Adapter berufen sich nicht auf die Hostadresse. -
Danke für Deine Erläuterungen. Dann werde ich da wohl die Adapter anpassen müssen. Es waren hauptsächlich die hm-rpc-Instanzen und der SQL-Adapter. Leider bedeutet das aber wohl, dass ich sämtliche Datenpunkte, die ich logge, dann wieder neu für den SQL-Adapter anlegen muss. Und das ist nicht mal so im Vorbeigehen gemacht. Oder gibt es da eine bessere Lösung?
Ich könnte natürlich auch einfach die DiskStation auf eine andere IP-Adresse umziehen. Aber ob das so viel besser ist?
-
So,
ich habe nun die IP-Adresse meiner DS auf 192.168.0.11 geändert und den ioBroker unter 192.168.0.10 installiert.
Nun habe ich aber folgendes Problem beim Update des js-controllers:
Was ist zu tun?
Erschwerend kommt hinzu, dass der SQL-Adapter sich nicht mehr mit der MariaDB10-Datenbank, die nun unter der 192.168.0.11 liegt, verbinden möchte. Ergo muss ich wohl doch jeden Datenpunkt neu einrichten, oder?