NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@Fichtendickicht sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Praktisches Beispiel ist hier z. B. die Anbindung einer auf dem Host laufenden SQL-Datenbank an den ioBroker-Container. In so einem Fall müssen andere Lösungen gefunden werden.
wusste ich nicht, umso besser das ich noch auf das alte Dockersystem von Buanet baue und es so belassen habe!
-
@Fichtendickicht , mit den Ports hat das nichts zu tun. Die IP der NAS aus dem MACVLAN ist nicht erreichbar. Ich habe hier einmal eine Lösung hier beschrieben. Grundlegende Unix und Netzwerkkenntnisse sind unbedingt Voraussetzung!
VG
Stübi -
@Fichtendickicht
Du könntest mal den SQL-Port (3007) exportieren und dann vom ioBroker aus auf die IP der Diskstation verbinden.@dos1973 Du müsstest den Port der Simple API (8087) exportieren und dann beim Aufruf der URl die IP der Diskstation rein.
Bei beiden ohne Garantie das es funktioniert, macht aber auch nichts kaputt und kann schnell wieder zurückgestellt werden. Hab leider keine Diskstation sonst könnte ich es mal testen. Die Lösung von @Stuebi schau ich mir mal an ob ich das für meinen Server adaptieren kann, sieht auf jeden Fall interessant aus.
-
@Fichtendickicht sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich hab das auch so eingestellt, allerdings bekomme ich keine Verbindung zu MariaDB mittels sql.0:
Ich verwende nur InfluxDB. Ebenfalls im Docker auf der Syno.
@dos1973 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
ich mache nur "join network" und das wars oder muss ich noch etwas konfiguriert... so reicht es bei mir jedenfalls nicht.
Hmmm, liegt es eventuell daran, dass ich 2 LAN-Ports auf der Syno verwende?
Lan1 = Syno
Lan2 = ioBroker mit MACVLANIch bin kein Profi. arbeite viel nach Tutorials und Try and Error.
Aber wie gesagt, bei mir läuft ioBroker perfekt auf der Syno.
Ich hole die Daten der Syno in den ioBroker (Script oder Adapter ist egal), Zugriff auf InfluxDB funktioniert auch. -
Frage: müsste ein Backup mit backitup wiederherstellen, gibt es für docker was bestimmtes zu beachten ?
- Ich habe einen neuen Container erstellt
- mit der letzten iobroker version von buanet
- habe backitup eingerichtet
4.habe in den ordner backups mein minimal backup kopiert und das wiederherstellen über den backitup adapter angestossen
nun seh ich nur gestartet , aber irgend wie werden die files nicht mehr im ordner vom iobroker
im log sehe ich nur
host.RDJL_Home 2019-12-18 16:05:28.289 info Update repository "default" under "http://download.iobroker.net/sources-dist.json" host.RDJL_Home 2019-12-18 16:05:18.869 info Update repository "default" under "http://download.iobroker.net/sources-dist.json"
-
@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.