NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@duffbeer2000 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@dos1973 Du müsstest den Port der Simple API (8087) exportieren und dann beim Aufruf der URl die IP der Diskstation rein.
kann dir überhaupt nicht folgen, was hier wo zu exportieren ist?
(immer mehr überlege ich mir einen NUC zu kaufen und dann den ganzen Container Kram zu lassen)
-
@Snapergy
nah, das war incl. der Recherche warum die Googlehomes nicht gefunden werden. Habe erst versucht die Ports der GH durchzureichen, was nur teilweise geklappt hat. Denn manuell konnte ich dann die IP-Adressen eingeben und auch die Lautstärke ändern. Jedoch der Text den die GH sprechen sollten wollte nicht...Da ich noch wusste, dass ich beim ersten Anlauf IoBroker auf der NAS zu installieren weder den Host-Betrieb noch den Macvlan zum laufen bekommen habe wollte ich jetzt zwanghaft im Bridge-Mode bleiben. Ich hab befürchtet ich müsse den Container neu aufbauen, wodurch wieder das OpenZwave-Theater losgeht... hab dann gemerkt, dass es mit den Bridge einfach nicht geht und gehofft den Hostmodus(weil, soll ja einfach sein) auf den Container anzuwenden, was aber auch nicht geht(weil Container schon vorhanden). Auch wenn ich den Container dupliziere und den Hostmodus wähle...ich komme einfach nicht auf den IoBroker...naja bleibt dann nur der Macvlan.
Also nochmal von vorne genau der Anleitung nach und habe dann endlich entdeckt, dass der Fehler in der IP-Adresse lag. Wie so häufig gesagt muss der IoBroker eine eigene IP bekommen und nicht die der Synology. Da war mein Denkfehler. Und die Angabe mit den /24 oder /36 konnte ich auch nichts anfangen, bzw. ist das schon 15 Jahre her wo ich das mal gelernt hab.Das alles hat halt so lange gedauert und ich google halt lieber eine Stunde lang bevor ich hier reinschreibe...
Normal ist das wohl wirklich in 20 Minuten erledigt, also mach ruhig mit VIS weiter -
@dos1973
Im portainer auf den iobroker container klicken und dann "Dublicate/Edit" auswählen:
Dann hier bei "Manual network port publishing" den Port eintragen:
Docker sieht am Anfang kompliziert aus, aber je mehr man damit macht lernt man die Vorteile zu schätzen.
@Negalein Durch die 2 Netzwerkports umgehst du das Problem, das ist dein Vorteil
-
@duffbeer2000 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Negalein Durch die 2 Netzwerkports umgehst du das Problem, das ist dein Vorteil
alleine dafür hat sich die 718+ gelohnt!
-
@duffbeer2000
auch das klappt leider nicht, ist echt verzwickthabe die Ports einetragen
-
@dos1973
Hallo,
wo genau liegt denn das Problem?Wenn du MACVLAN benutzt brauchst du keine Ports forwarden. Die Ports können also aus dener Container-Config raus.
Wenn du von der Synology die SimpleAPI in deinem ioBroker-Container mit MACVLAN ansprechen möchtest, musst du dem Container ein zusätzliches Bridge-Netzwerk hinzufügen. Ich empfehle ein eigenes an zu legen, da im Default-Bridge-Netz z.B. keine Namensauflösung funktioniert.
Wenn du das gemacht hast, dann musst du aus deinem Script heraus natürlich die IP-Adresse des Containers im Bridge-Netz verwenden. (Der Weg über das Heimnetz funktioniert ja nicht!)
Wenn du ein eigenes Bridge-Netz angelegt hast, funktioniert der Aufruf auch mit dem Hostname des Containers....MfG,
André -
-
Lieber Andre,
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:Wenn du von der Synology die SimpleAPI in deinem ioBroker-Container mit MACVLAN ansprechen möchtest, musst du dem Container ein zusätzliches Bridge-Netzwerk hinzufügen.
Funktioniert das auch um eine Verbindung zwischen ioBroker und MariaDB im NAS-Host zu ermöglichen?
-
@Fichtendickicht
Ja, mit dieser Konfiguration macht man die Kommunikation zwischen Host (DS) und Container trotz MACVLAN möglich.Allerdings könnte man die MariaDB auch als Container laufen lassen. Dazu schreibe ich aktuell ein Tutorial (für fortgeschrittene User) zum Thema "Docker Compose über Portainer". Damit könnte man mit einem Konfigurationsfile mehrere Container aufsetzen (etwa Maria DB, Redis usw...), inkl. Netzwerkkonfiguration...
MfG,
André -
@andre
Darf ich Dich um eine etwas genauere Auführung bezüglich der Erstellung einer eigenen Bridge bitten?
Mein ioBroker hat ein MACVLAN, die Adresse 10.0.0.100 und liegt im selben Adressraum wie die Syno (10.0.0.79). Was muss ich denn da bitte eintragen, damit ein Zugriff auf den Host funktioniert?
Ich kann im Netz leider keine vernünftige Anleitung finden.
Danke! -
@Fichtendickicht
Nichts vernünftiges im Web zu finden? Dann muss ich das heute Abend wohl mal ändern! #knowledgebaseDa es sich um ein internes Netz handelt, kannst du da fast machen was du willst (soweit ich weiß). Ich orientiere mich immer an dem default bridge netz. In der Konfiguration sieht das dann so aus:
bridge: driver: bridge ipam: config: - subnet: 172.18.0.0/16 gateway: 172.18.0.1 ip_range: 172.18.0.1/24
MfG,
André -
@andre
Vielen Dank. Habe ich als eigenes Network konfiguriert und dem ioBroker hinzugefügt. Dann ioBroker neu gestartet.
Nur wie bekomme ich jetzt eine Verbindung zur MariaDB im NAS-Host?
-
@Fichtendickicht
Du musst dann natürlich auch die IP der DS aus dem Bridge Netzwerk im Adapter verwenden. Diese entspricht dem Gateway des Bridge-Netzwerks. Oder du verwendest den Hostnamen der DS.MfG,
André -
@andre
Tut mir Leid, das verstehe ich nicht. Wenn ich ein Bridge Netzweerk erstelle mit Deinen Werten bekomme ich keine Verbindung hin und kann auch als Gateway die IP meines DS nicht eintragen.
Wenn ich als Subnet 10.0.0.0/16 eintrage steht das im Konflikt mit der IP des ioBrokers (10.0.0.100).
Oder muss ich dem ioBroker einen anderen Adressbereich zuweisen damit ich in der Bridge den Adressbereich meiner DS verwenden kann? -
@Fichtendickicht Du bist etwas falsch abgebogen:
Das Bridge-Netz darf nicht im gleichen Adressraum liegen wie die Syno.Beim erstellen schlägt er ja z.B. schon was vor:
Subnet: 172.20.0.0/16
IP range 172.20.10.128/25
Gateway 172.20.10.11So, jetzt hätte deine Syno die IP-Adresse 172.20.10.11, der ioBroker Container bekommt wenn er dem Bridge-Netz zugeordnet ist automatisch auch eine IP-Adresse in diesem Netzwerk. Und über diese beiden IP-Adressen kann dann der Container mit der Syno und umgedreht kommunizieren. Die IP-Adressen in diesem Bridge-Netz sind nicht von außen erreichbar, die kannst du somit auch nicht anpingen oder im Browser aufrufen.
-
@duffbeer2000 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
172.20.10.128/25
Klappt!
sql.0 2019-12-19 16:12:07.713 info (662) enabled logging of modbus.0.holdingRegisters.23.3304_Temperature, Alias=false, 11 points now activated sql.0 2019-12-19 16:12:07.712 info (662) enabled logging of modbus.0.holdingRegisters.100.846_Battery_Time to Go (System), Alias=false, 10 points now activated sql.0 2019-12-19 16:12:07.712 info (662) enabled logging of modbus.0.holdingRegisters.100.845_Battery_Consumed Amphours (System), Alias=false, 9 points now activated sql.0 2019-12-19 16:12:07.712 info (662) enabled logging of modbus.0.holdingRegisters.100.844_Battery_state (System), Alias=false, 8 points now activated sql.0 2019-12-19 16:12:07.712 info (662) enabled logging of modbus.0.holdingRegisters.100.843_Battery_State of Charge (System), Alias=false, 7 points now activated sql.0 2019-12-19 16:12:07.711 info (662) enabled logging of modbus.0.holdingRegisters.100.842_Battery_Power (System), Alias=false, 6 points now activated sql.0 2019-12-19 16:12:07.711 info (662) enabled logging of modbus.0.holdingRegisters.100.841_Battery_Current (System), Alias=false, 5 points now activated sql.0 2019-12-19 16:12:07.711 info (662) enabled logging of modbus.0.holdingRegisters.100.840_Battery_Voltage (System), Alias=false, 4 points now activated sql.0 2019-12-19 16:12:07.710 info (662) enabled logging of modbus.0.holdingRegisters.100.819_AC_Consumption L3, Alias=false, 3 points now activated sql.0 2019-12-19 16:12:07.710 info (662) enabled logging of modbus.0.holdingRegisters.100.818_AC_Consumption L2, Alias=false, 2 points now activated sql.0 2019-12-19 16:12:07.708 info (662) enabled logging of modbus.0.holdingRegisters.100.817_AC_Consumption L1, Alias=false, 1 points now activated sql.0 2019-12-19 16:12:07.244 info (662) Connected to mysql sql.0 2019-12-19 16:12:04.773 info (662) starting. Version 1.9.4 in /opt/iobroker/node_modules/iobroker.sql, node: v10.17.0 host.iobroker 2019-12-19 16:11:54.566 info instance system.adapter.sql.0 started with pid 662 host.iobroker 2019-12-19 16:11:52.103 info instance system.adapter.sql.0 terminated with code null ()
Ihr seid die Größten! Vielen Dank!
(was ich leider noch nicht ganz verstehe, ist der Umstand, dass eine beliebige Adresse im GAteway immer die Verbindung zur DS darstellt. Aber egal, jetzt funktioniert´s ja). -
@Fichtendickicht Das Bridge Network wird auf dem Host erstellt. Daher ist der Host auch immer das Gateway.
-
@duffbeer2000
Wenn ich das richtig verstehe, wird die bridge auf dem Host (meiner DS) erstellt obwohl ich das Netzwerk im Portainer errichtet habe.
Und weil die Bridge auf dem Host erstellt wird führt das auf der Bridge eingetragene Gateway immer zu dem Container welcher an die Bridge angeschlossen ist. -
@andre
Ich kann auf Deiner Seite hier nichts posten, die Seite hört nicht auf zu laden.Wenn ich nämlich den iobroker mit den von Dir vorgeschlagenen Volumes installieren will,
bekomme ich folgende Fehlermeldung:, ------------------------------------------------------------, --------------- 2019-12-19 18:07:03 ---------------, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Welcome to your ioBroker-container! -----, ----- Startupscript is now running. -----, ----- Please be patient! -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Debugging information -----, ----- -----, ----- System -----, ----- arch: x86_64 -----, ----- -----, ----- Versions -----, ----- image: v4.0.0 -----, ----- node: v10.17.0 -----, ----- npm: 6.11.3 -----, ----- -----, ----- ENV -----, ----- AVAHI: false -----, ----- PACKAGES: nano -----, ----- SETGID: 1000 -----, ----- SETUID: 1000 -----, ------------------------------------------------------------, , ------------------------------------------------------------, ----- Step 1 of 5: Installing additional packages -----, ------------------------------------------------------------, , The following packages will be installed: nano..., Done., , ------------------------------------------------------------, ----- Step 2 of 5: Detecting ioBroker installation -----, ------------------------------------------------------------, , There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!, Please check/ recreate mounted folder/ volume and restart ioBroker container.,
Und es ist unerheblich ob ich mittels den Container kopiere oder aus dem Image neu erstelle.
-
@Fichtendickicht
Ich glaube du musst dir ganz dringend noch ein paar Basics zu Docker aneignen....@Fichtendickicht sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wenn ich das richtig verstehe, wird die bridge auf dem Host (meiner DS) erstellt obwohl ich das Netzwerk im Portainer errichtet habe.
Portainer ist nur eine Webobefläche zur Administration von Docker, was als Dienst auf der DS läuft den du über das Docker-paket im DSM installiert hast... Du kannst nichts im Portainer einrichten. Die kannst nur mit Hilfe von Portainer etwas unter Docker einrichten....
@Fichtendickicht sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Und weil die Bridge auf dem Host erstellt wird führt das auf der Bridge eingetragene Gateway immer zu dem Container welcher an die Bridge angeschlossen ist.
Das Bridge-Netzwerk ist ein virtuelles Netz, dass nur innerhalb von Docker auf deiner DS existiert. Dabei führt das Gateway immer auf die DS.
BTW:
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Nichts vernünftiges im Web zu finden? Dann muss ich das heute Abend wohl mal ändern! #knowledgebase
Brauch ich nichtmal was tun. Habe ich im Mai schon gemacht: https://buanet.de/knowledge-base/eigenes-bridged-netzwerk-anlegen/
MfG,
André