NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@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é -
Ich habe mich jetzt endlich an MACVLAN ran getraut. Mit kleinen Änderungen zu Andre’s Anleitung. Die IP-Range habe ich mit 192.168.178.0/24 angegeben. Also alle 255 IP-Adressen. Habe aber dann im Container eine feste IP-Adresse aus diesem Bereich vergeben. Ich denke, damit kann man bei mehreren Containern besser hantieren. Und das Gute daran, es funktioniert.
Frage an die Netzwerkprofis: Spricht etwas trotzdem gegen diese Konfiguration?
Trotz allem doch noch ein Problem. An der Synology 918+ hängt eine USV, die ich mit dem NUT-Adapter Abfrage. In der Adapterkonfiguration muss ich die IP der Synology angeben und bekomme diese Fehlermeldung:
error: nut.0 (6766) Error happend: Error: connect EHOSTUNREACH 192.168.178.14:3493
Jetzt habe ich auch hier gelesen, dass man aus Sicherheitsgründen aus dem Container nicht auf den Host zugreifen kann. Und genau das ist bei mir der Fall.
Man soll das umgehen können. Vielleicht kann mir das jemand erklären. Vielleicht gibt es auch ein gutes Tutorial mit Portainer. Ich kann immer nicht genau abschätzen ob es mein Problem löst. -
@Bongo Du hast also ein VLAN da skomplett von den Containern belegt werden soll?
Vielleicht nicht ganz zuuende gedacht aber geht...
Mit VLANs Gruppiere ich Thematisch, also z.B. Haustechnik hat eins und in diesem liegen unter anderem auch IOBRoker und Nodred... aber andere Container sind in einem anderen Vlan, daher denke ich mit 255 Adressen in einem VlLAN macht das nicht so viel Sinn?
Feste Adressen hab ich auch - und auch die Kontainernamen hab ich so vergeben sonst verliert man schnell den Überblick...
192.168.178.14:3493 ist die Adresse der Syno? auch im VLAN oder wie? welche VLANS hast du noch?
-
@Boardy
Als erstes bitte nicht davon ausgehen, dass ich ein Netzwerkprofi bin
Eigentlich habe ich nicht bewusst ein VLAN. Mit MACVLAN wollte ich eigentlich nur das leidige Port-Umleiten vermeiden und weil es Andre bevorzugt.Mein Adressbereich liegt bei 192.168.178.0. Die Syno hat 192.168.178.14 und der ioBroker 192.168.178.28.
-
@Bongo Sorry ich versteh gerade nicht was dann ein VLAN bringen soll
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
PACKAGES: Klares NEIN.
OPENSSL_CONF: Muss ich mal recherchierenAlles klar. Danke für deine schnelle Antwort. Dann muss ich mir die Einstellungen für etwaige spätere Container-Updates wohl einfach merken.
-
@Bongo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Mein Adressbereich liegt bei 192.168.178.0. Die Syno hat 192.168.178.14 und der ioBroker 192.168.178.28.
Da tanzt du aber auf Messers Schneide! So wie ich das verstehe hast du dem MACVLAN dein gesamtes Netz verpasst in dem auch deine Synology liegt und in das vermutlich der DHCP deines Routers IP-Adressen vergibt? Falls ja, mag es jetzt vielleicht gehen. Du hast dann aber unter umständen zwei konkurrierende DHCP Server im Netz. Einen im Router, einen im MACVLAN. Viel Spaß wenn der eine eine IP Adresse vergibt, die der andere schon vergeben hat. Ich würde es nicht so lassen. Zumal du das MACVLAN ganz einfach auf z.B. 6 IP Adressen beschränken kannst. Mehr wirst du sowieso nicht brauchen!!!
Kleiner Service von mir, versuchs mal damit im MACVLAN. Dein ioBroker könnte dann z.B. die .121 bekommen:
https://www.heise.de/netze/tools/netzwerkrechner/Für das Problem dass du den Host nicht erreichst ist nicht die Sicherheit zuständig. Das liegt m. E. schlicht daran, dass das nicht geroutet werden kann. Hier hilft es wenn du ein zusätzliches Bridge Netzwerk anlegst, es deinem ioBroker Container zusätzlich zuweist und dann aus dem Container die DS über die IP des Gateways ansprichst. Ist alles hier irgendwo im Thread beschrieben. Alternativ findest du auch Infos Dazu in meinen Tutorials (Link siehe Signatur).
MfG,
André -
Hi,
ich verwende Iobroker mit Docker auf einer Synology Diskstation 412+ mit Ramupgrade auf 4 GB.Alles funktioniert soweit gut aber Admin, Vis-Editor und Flot reagieren sehr langsam.
Öffnen dauert bis zu 1 Minute bis alles geladen ist.
z. B. Admin: der Hintergrund und die Seitenstruktur ist innerhalb 1 bis 2 sec. geladen, der Inhalt und das Menü erscheint erst nach 1 Minute.
CPU und RAM-Auslastung sind niedrig, das sollte nicht das Problem sein.Es macht keinen Unterschied ob ich Bridge oder Host verwende.
Updates von Adaptern dauern ebenfalls ewig.
Als anderen Container habe ich noch Portainer laufen, hier jedoch auf einem andern Port als den was Iobroker verwendet.
Hier läuft alles schnell.Was kann es da haben?
Issue habe ich auf Github erstellt, wurde aber hierher verwiesen, da hier die Diskstation Experten sindLG
Markus -
@andre said in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Für das Problem dass du den Host nicht erreichst ist nicht die Sicherheit zuständig. Das liegt m. E. schlicht daran, dass das nicht geroutet werden kann. Hier hilft es wenn du ein zusätzliches Bridge Netzwerk anlegst, es deinem ioBroker Container zusätzlich zuweist und dann aus dem Container die DS über die IP des Gateways ansprichst. Ist alles hier irgendwo im Thread beschrieben. Alternativ findest du auch Infos Dazu in meinen Tutorials (Link siehe Signatur).
MfG,
AndréNach Tagen der Recherche habe ich nur rausgefunden wie das gemeint ist. Denke ich
Ich habe es für mich mal so dokumentiert. Ein Bridge-Netzwerk erstellt:
Im ioBroker Container zugefügt:
Die Syno ist das Gateway: 172.18.0.1
Die Syno kennt den ioBrocker mit: 172.18.0.3
Bei meinem Problem mit dem NUT-Adapter musste ich im Adapter 172.18.0.1 eintragen.
In der USV-Konfiguration muss die 172.18.0.3 eingetragen werden:
So weit ist es gut.
Jetzt hat sich nach dem Neustart des Containers die IP auch 172.18.0.2 geändert. Solange ich das mit nur einem Container mache wird es wohl immer die 172.18.0.2 bleiben. Kann man die IP auch fest machen? -
@bongo Genau so war es gemeint.
IP lässt sich im portainer leider nur für ein Netzwerk festlegen. Wenn du IPs für beide Netze festlegen willst musst du mit Stacks (Docker-compose) arbeiten. Da kannst du das machen.MfG,
André -
Hallo Andre,
ich hoffe, ich bin hier richtig mit meiner Frage. Ich nutze dein Image auf meiner Diskstation im Docker-Container. Für ein python-Skript, welches mir Daten meiner Lüftung auf IoBroker zur Verfügung stellt, da es (noch) keinen Adapter gibt, benötige ich mind. Python 3.6, da f-Strings im Skript genutzt werden.
Leider kenne ich mich jetzt nur rudimentär mit Linux und den Distriutionen aus, aber aktuell ist nur Python in der Version 3.5.3 vorhanden und 3.6 nicht verfügbar, oder? Wie bekomme ich das drauf?
Danke für eure Hilfe
-
Da war ich wohl etwas zu vorschnell, sorry dafür. Habe es gerade mit einem Container Update hinbekommen. Dazu habe ich aber eine Frage: Woher weiß ich gerade, welche Image-Version in meinem Container ist? Aktuell habe ich nur geraten und einfach geupdatet...
-
Im Log kannst du es sehen
Beispiel :
----- System ----- ----- arch: x86_64 ----- ----- ----- ----- Versions ----- ----- image: v4.2.4beta ----- ----- node: v12.18.1 ----- ----- npm: 6.14.5 -----
-
@fatmax sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hi,
ich verwende Iobroker mit Docker auf einer Synology Diskstation 412+ mit Ramupgrade auf 4 GB.Alles funktioniert soweit gut aber Admin, Vis-Editor und Flot reagieren sehr langsam.
Öffnen dauert bis zu 1 Minute bis alles geladen ist.
z. B. Admin: der Hintergrund und die Seitenstruktur ist innerhalb 1 bis 2 sec. geladen, der Inhalt und das Menü erscheint erst nach 1 Minute.
CPU und RAM-Auslastung sind niedrig, das sollte nicht das Problem sein.Es macht keinen Unterschied ob ich Bridge oder Host verwende.
Updates von Adaptern dauern ebenfalls ewig.
Als anderen Container habe ich noch Portainer laufen, hier jedoch auf einem andern Port als den was Iobroker verwendet.
Hier läuft alles schnell.Was kann es da haben?
Issue habe ich auf Github erstellt, wurde aber hierher verwiesen, da hier die Diskstation Experten sindLG
MarkusHallo Markus,
offenbar ein schwierigeres Thema. Aber das lässt sich mit deinen Infos auch nicht gut analysieren. Ein paar mehr Details wären gut. Z. B. ob du deinen ioBroker auf der DS frisch aufgesetzt hast, oder ob und wie du ggf. von wo migriert bist. Außerdem wäre das Log eines Starts aus dem Container hilfreich. Ebenso ein Screenshot der im Container laufenden Prozesse. Vielleicht kommen wir dem Verursacher dann auf die Schliche...MfG,
André -
@andre
Hallo Andre,
ich hatte IoBroker auf der DS installiert und danach ein Backup eingespielt.
Das Backup stammte von einem System auf einem Rock64.Bin aber mittlerweile auf einen NUC mit Proxmox umgezogen, da ich glaube, dass mein DS-Modell daran schuld war und die Leistung einfach nicht ausreichte.
Auf dem NUC habe ich das selbe Backup eingespielt, und Admin, Float, VIS läuft alles wieder einwandfrei und schnell. -
@fatmax Seltsam. Dann muss dir das irgendwas die Performance geklaut haben. Eigentlich sollte die 412+ mit 4 GB Ram den iobroker gewuppt bekommen. Wenn du natürlich anspruchsvolle Adapter laufen hast, dann könnte das schon sein dass es knapp wird. Ich habe eine 1515+ mit 6GB. Da musste ich jetzt den ioBroker auch runter nehmen. War aber in erstel Linie wegen Medien Transcodierung und 6 Kameras in der Survelliance Station.
MfG,
André -
@andre hab eine kurze Frage, ich möchte die Tage meinen rapsi (slave) neu aufsetzen.
Jetzt hab ich mir die Frage gestellt, ob ich da was beachten muss, wenn ich den iobroker darauf neu installier. Wie erhalte ich den letzen Zustand der Adapter für den Slave? Mach ich das über Restore, oder reicht das die entsprechenden Adapter zu installieren. Werde da ja in der zwischenzeit das komplette iobroker System pausieren müssen. -
@michi_pi Mhh, da kann ich dir auch keine 100%tige Antwort drauf geben. Gibt es vielleicht jemanden der hier Mitliest und schon mal einen Slave ausgetauscht/ neu gemacht hat?
Bei mir laufen auch die Slaves als Docker Container. Da wird dann immer das Verzeichnis gesichert und einfach wiederhergestellt. Komplett neu gemacht habe ich noch keinen Slave.
Wenn du einen zweiten Raspberry hast würde ich sagen, dass du den als zusätzlichen Slave anbindest, die Adapter migrierst und den alten Slave dann entfernst. Ob man das auch mit einem Raspberry machen kann und dann praktisch Adapter von nem offline Slave migrieren kann weiß ich leider nicht...
MfG,
André -
@andre Hatte am WE den Raspi bereits neu aufgesetzt. Hat ohne größere Probleme funktioniert.
Ich habe beide Systeme runter gefahren. Dann denn Raspi (Slave) neu aufgesetzt.
Sprich nur das Betriebssystem installiert konfiguriert und dann ioBroker installiert und auch hier die Grundeinstellungen vorgenommen.
Dann auch den Master (unter Docker) wieder gestartet. Danach wollte ich den Slave mit dem Master wieder verbinden. Hier hat er mir aber einen Fehler gebracht, dass er den Master nicht findet.
Kommischerweise hat er sich aber danach automatisch wieder verbunden.Bin mir nicht sicher, aber ich denke es reicht dass man die Multihost konfiguration vornimmt. Ein erneutes connecten ist wohl nicht notwendig.
Danach wurde wieder alle Adapter automtisch installiert und gestartet. Hab da auch kein Backup einspielen müssen.