Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker unter Docker auf der Synology DiskStation?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IoBroker unter Docker auf der Synology DiskStation?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      @dtp:

      @tstueben:

      Es gab kurz Probleme mit Yahka (Apple Homekit) aber auch das habe ich den Griff bekommen. `

      Was war das Problem und wie hast du es gelöst?

      Ging es evtl. darum, dass die Brigde nicht gefunden werden konnte? `

      Der "Bonjour" Dienst darf nicht auf dem Synology aktiviert sein.

      –-----------------------

      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

      1 Reply Last reply Reply Quote 0
      • D
        dtp last edited by

        @Dutchman:

        Siehe das Tutorial, im docker Container sind die Befehle anders zum Start/Stop. `

        Danke für den Hinweis, aber das war mir schon bekannt. 8-) Wie gesagt, es geht bei mir sogar on the fly. Hab bisher jedes Update der Version 3.x so durchgeführt und immer hat es reibungslos funktioniert.

        1 Reply Last reply Reply Quote 0
        • D
          dtp last edited by

          @Dutchman:

          Der "Bonjour" Dienst darf nicht auf dem Synology aktiviert sein. `

          Das hatte ich alles schon mit einer in einem weiteren Docker-Container installierten https://hub.docker.com/r/marcoraddatz/homebridge/ durch. Bisher hat nichts funktioniert. Daher läuft bei mir die Homebridge auf einem Raspi.

          Hier hatte ich dazu mal ein https://github.com/marcoraddatz/homebridge-docker/issues/42 geöffnet. Interessant ist für mich noch der letzte Hinweis mit dem parallelen ioBroker-Container, den ich aber bisher noch nicht getestet habe.

          drtp created this issue in marcoraddatz/homebridge-docker

          closed Home App under iOS 11.2.1 does not find device #42

          1 Reply Last reply Reply Quote 0
          • Stuebi
            Stuebi last edited by

            @Dutchman:

            @dtp:

            @tstueben:

            Es gab kurz Probleme mit Yahka (Apple Homekit) aber auch das habe ich den Griff bekommen. `

            Was war das Problem und wie hast du es gelöst?

            Ging es evtl. darum, dass die Brigde nicht gefunden werden konnte? `

            Der "Bonjour" Dienst darf nicht auf dem Synology aktiviert sein.

            –-----------------------

            Send from mobile device

            Das schöne ios hat Auto Korrektur zum k****

            Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

            Genau, ich musste den Bonjour Dienst auf der NAS deaktivieren. Dann lief auch yahka!

            Habt Ihr den ioBroker in Docker Container im Host oder Bridge Mode laufen?

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi last edited by

              Ich habe den Docker Container buanet/iobroker in der Version 1.1.0 von André bei mir auf der Synology installiert. Die Installation habe ich wie hier auf https://buanet.de/2017/09/iobroker-unte … skstation/ beschrieben vorgenommen. Ich habe aber ein paar kleine Änderungen vorgenommen damit ich den Bonjour Dienst auf der NAS parallel laufen lassen kann.

              Auch kann man mit der Lösung unten, mehrere ioBroker Instanzen laufen lassen, die alle dann unter Apple Homekit sichtbar sind.

              Dafür darf der ioBroker Container nicht im Host Modus gestartet werden. Der NET (Bridge) Modus geht leider auch nicht, da die vergebene IP Adresse aus einem anderen Subnet ist (172.17.0.0) ist. Damit funktioniert Apple Homekit / Bonjour nicht mehr.

              Aus diesem Grund muss ein MACVLAN angelegt werden (Mit Macvlan ist es möglich einer Netzwerkschnittstelle mehrere virtuelle Schnittstellen mit einer eigenen MAC Adresse zuzuweisen). Leider bietet Synology diese Option über die Docker Oberfläche nicht an.

              Also mit SSH auf der NAS als root anmelden und folgenden Befehl ausführen:

              docker network create -d macvlan --subnet=192.168.20.0/24 --gateway=192.168.20.40 --ip-range=192.168.20.80/28  --aux-address 'host=192.168.20.80' -o parent=eth0 mac0
              
              

              Die IP Adresse meiner NAS ist 192.168.20.30 das dazugehörige Subnetz ist 192.168.20.0/24. Mit dem Befehl oben habe ich eine "MACVLAN Schnittstelle" in Docker im Subnet 192.168.20.80/28 angelegt. In diesem Subnet werden IP Adressen von 192.168.20.80 bis 192.168.20.95 vergeben (http://www.subnet-calculator.com/cidr.php). Dieser Bereich sollte beim eigenen DHCP Server ausgeschlossen werden um nicht doppelte IP Adressen zu vergeben.

              In Docker sehe ich jetzt nun den Eintrag mac0 unter Netzwerk.

              4352_docker-netzwerk.png

              Also nächstes den Docker Container buanet/iobroker installieren und anders als in der Anleitung beschrieben in den erweiterten Einstellungen unter Netzwerk den Netzwerknamen mac0 auswählen.

              4352_docker-einstellung.png

              Jetzt kann der Container gestartet werden und sollte eine IP Adressen zwischen 192.168.20.81 bis 192.168.20.95 erhalten. (Die IP Adresse 192.168.20.80 wurde mit dem Parameter –aux-address 'host=192.168.20.80' ausgeschlossen).

              Nun solle man ioBroker mit http://192.168.20.x:8081 von außen erreichen. Jetzt gibt es leider noch 2 Probleme. Einmal ist der DNS Server im Docker Container verkehrt und keine Namen auflösen und man kann aus dem Docker Container nicht die NAS erreichen und umgekehrt.

              Folgendermaßen kann man das Problem lösen! Dafür wieder mit SSH auf der NAS als root anmelden und folgende Befehle ausführen:

              # Virtuelles Netzwerk Device mac1 anlegen
              ip link add mac1 link eth0 type macvlan mode bridge
              ip addr add 192.168.20.80/32 dev mac1
              ip link set mac1 up
              ip route add 192.168.20.80/28 dev mac1
              
              

              Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. Leider sind die Einstellungen nach jedem reboot der NAS weg und müssen neu angelegt werden. Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird.

              Nun noch das Problem mit dem DNS Server bereinigen. Dafür im ioBroker Docker Container ein Terminal öffnen. Nun als erstes einmal folgenden Befehl durchführen:

              echo "nameserver 8.8.8.8 "> /etc/resolv.conf
              
              

              Damit wurde der DNS Server mit der IP-Adresse 8.8.8.8 eingerichtet. Leider wird der Eintrag beim jedem reboot des ioBroker Docker Containers überschrieben. Nun schnell noch folgende Befehle ausführen um das System auf den neusten Stand zu bringen und den Editor vi zu installieren.

              apt-get update
              apt-get upgrade
              # Editor VI installieren
              apt-get install vim
              apt-get install net-tools
              apt-get install dnsutils
              # Für Webcam Einbindung bei iobroker.yahka
              apt-get install ffmpeg
              
              # Zeitzone geradeziehen
              cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
              
              

              So jetzt nun noch das Startskript anpassen, damit der Nameserver bei jedem Neustart des Container überschrieben wird. Dafür im Docker Container mit dem Editor vi das Skript /opt/scripts/iobroker_startup.sh um folgende Einträge am Anfang ergänzen:

              #!/bin/sh
              
              # Ergänzung - Anfang
              echo "nameserver 8.8.8.8" > /etc/resolv.conf
              echo "192.168.20.80 nas nas.mydomain.local" >> /etc/hosts
              # Ergänzung - Ende
              
              cd /opt/iobroker
              
              # ...
              
              

              Jetzt den Container neu starten. Übrigens die Migration der "alten" ioBroker Docker Installation in den neuen Container war total unproblematisch. Dafür habe ich das /opt/iobroker Verzeichnis kopiert. Vorher hatte ich die ioBroker / ioBroker Admin Versionen auf die gleiche Versionsnummern hochgezogen.

              Nachtrag:

              Falls Ihr ein Bond am Laufen habt oder Open vSwitch nutzt dann müsst Ihr als Device bondX (X = 0,1,2,…), oder ovs_ethX (X = 0,1,2,...) statt eth0 nutzen.

              VG

              Stübi

              Negalein 1 Reply Last reply Reply Quote 2
              • Homer.J.
                Homer.J. last edited by

                Hi,

                bekomme diesen Fehler.

                Start container iobroker_neu failed: {"message":"failed to create the macvlan port: device or resource busy"}.

                Grüße Steffen

                1 Reply Last reply Reply Quote 0
                • Stuebi
                  Stuebi last edited by

                  @Homer1976:

                  Hi,

                  bekomme diesen Fehler.

                  Start container iobroker_neu failed: {"message":"failed to create the macvlan port: device or resource busy"}.

                  Grüße Steffen `

                  Hast Du bei der Anlage von

                  docker network create -d macvlan --subnet=192.168.20.0/24 --gateway=192.168.20.40 --ip-range=192.168.20.80/28  --aux-address 'host=192.168.20.80' -o parent=eth0 mac0
                  
                  

                  Hast Du darauf geachtet, dass die IP-Range ab 192.168.20.80 bis 192.168.20.95 in Deinem Subnetz nicht genutzt wird? Das gilt auch für die 192.168.20.80 in dem Beispiel.

                  Bei mir hat die Synology NAS die IP-Adresse 192.168.20.30 und ist im Subnet 192.168.20.0/24, der DSL Router hat die IP-Adresse 192.168.20.40 (ist auch das Gateway). Vom DHCP Server werden nur Adressen von 192.168.20.100 bis 192.168.20.200 vergeben.

                  Steht bei deinem mac0 Device auf der NAS unter Docker -> Netzwerk der Treiber macvlan?

                  VG

                  Stübi

                  1 Reply Last reply Reply Quote 0
                  • Homer.J.
                    Homer.J. last edited by

                    Hi,

                    ist sicher mein Fehler gewesen, meine IP 192.168.178…. ich denk mal diese muss ich einsetzen.

                    wie kann ich das angelegte auf meinem NAS jetzt ändern. ?

                    Gruß Steffen

                    1 Reply Last reply Reply Quote 0
                    • Stuebi
                      Stuebi last edited by

                      @Homer1976:

                      Hi,

                      ist sicher mein Fehler gewesen, meine IP 192.168.178…. ich denk mal diese muss ich einsetzen.

                      wie kann ich das angelegte auf meinem NAS jetzt ändern. ?

                      Gruß Steffen `

                      Du kannst das macvlan Device ganz einfach über die Synology Oberfläche löschen. Vorher musst Du nur die verknüpften Container entfernen. Das geht über Docker -> Netzwerk, dann das Device mac0 auswählen und unter verwalten die Container entfernen (diese werden nicht physisch entfernt). Nun kannst das virtuelle Device mac0 löschen. Anschließend Device mac0 neu über die sehll anlegen und dann per Docker -> Netzwerk , Verwalten die Container wieder dem Device zuordnen.

                      Das mac1 Device kannst Du einfach folgendermaßen in der shell löschen.

                      ip link del mac1
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Homer.J.
                        Homer.J. last edited by

                        Hab jetzt den IP Bereich von 192.168.178.60 bis 70 genommen ist auch für kein anderes Gerät vergeben kommt aber die selbe Fehlermeldung.

                        1 Reply Last reply Reply Quote 0
                        • Stuebi
                          Stuebi last edited by

                          @Homer1976:

                          Hab jetzt den IP Bereich von 192.168.178.60 bis 70 genommen ist auch für kein anderes Gerät vergeben kommt aber die selbe Fehlermeldung. `

                          kannst Du mal Deinen Befehl zum anlegen des Docker Devices mac0 posten?

                          1 Reply Last reply Reply Quote 0
                          • Homer.J.
                            Homer.J. last edited by

                            ! docker network create -d macvlan –subnet=192.168.178.0/24 --gateway=192.168.178.60 --ip-range=192.168.178.80/28 --aux-address 'host=192.168.178.70' -o parent=eth0 mac0

                            1 Reply Last reply Reply Quote 0
                            • Stuebi
                              Stuebi last edited by

                              @Homer1976:

                              ! docker network create -d macvlan –subnet=192.168.178.0/24 --gateway=192.168.178.60 --ip-range=192.168.178.80/28 --aux-address 'host=192.168.178.70' -o parent=eth0 mac0 `

                              Du hast den IP Bereich von 192.168.178.80 - 192.168.178.95 gewählt. Da darf bisher keine IP Adresse vergeben sein! Die IP Adresse 192.168.178.60 ist die Deines Gatways. Meisten die IP Adresse des DSL Routers. Die IP Adresse in –aux-address 'host=a.b.c.d' muss im Bereich 192.168.178.80/28 liegen. Das ist bei Dir nicht der Fall. Trage dort z.B. --aux-address 'host=192.168.178.80' ein!

                              Ist bei Dir die IP Adresse deiner NAS auf eth0 oder hast Du Open VSWITCH aktiviert (Systemsteuerung -> Netzwerk -> Verwalten -> Open vSwitch Einstellungen)? Dann musst Du statt eth0 immer das Device ovs_eth0 angeben.

                              hier der korrigierter Eintrag für das LAN Device eth0 und der IP Adresse 192.168.178.80 für das spätere mac1 Device :

                              docker network create -d macvlan --subnet=192.168.178.0/24 --gateway=192.168.178.60 --ip-range=192.168.178.80/28  --aux-address 'host=192.168.178.80' -o parent=eth0 mac0
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • Homer.J.
                                Homer.J. last edited by

                                open vswitch ist bei mir nicht aktiviert kann es daran liegen das ich alle 4 Netzwerk Anschlüsse als Bond ausführe. ?

                                1 Reply Last reply Reply Quote 0
                                • Stuebi
                                  Stuebi last edited by

                                  @Homer1976:

                                  open vswitch ist bei mir nicht aktiviert kann es daran liegen das ich alle 4 Netzwerk Anschlüsse als Bond ausführe. ? `
                                  ja, das wird es sein. Meine NAS hat nur einen Ethernet Adapter, daher habe ich kein Bond am Start. Wenn ich mich nicht täusche heißt das Device dann bond0. Also überall wo eth0 steht bond0 eintragen.

                                  Das Device kannst Du wie folgt prüfen:

                                  ifconfig
                                  
                                  

                                  Ich bin gespannt ob es jetzt funtkioniert?

                                  1 Reply Last reply Reply Quote 0
                                  • Homer.J.
                                    Homer.J. last edited by

                                    Das war es funktioniert. Danke Dir und noch einen schönen Rest Feiertag

                                    werde mich dann mal durch den Rest kämpfen. 😄

                                    Grüße Steffen

                                    1 Reply Last reply Reply Quote 0
                                    • Stuebi
                                      Stuebi last edited by

                                      @Homer1976:

                                      Das war es funktioniert. Danke Dir und noch einen schönen Rest Feiertag

                                      werde mich dann mal durch den Rest kämpfen. 😄

                                      Grüße Steffen `
                                      Klasse uns viel Spaß!

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        rrr last edited by

                                        Hallo tstueben,

                                        vielen Dank für deinen sehr hilfreichen Beitrag! Danke, es hat mir geholfen die Einrichtung gut durchzuführen.

                                        Du hast in deinem Beitrag geschrieben:
                                        @tstueben:

                                        Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird. `

                                        Kannst du mir kurz erklären, wie ein solches Skript anlegen kann, bzw. welcher Code da rein muss?

                                        @tstueben:

                                        Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. `
                                        Darüber hinaus gelingt es mir nicht, den MySQL Server auf der DiskStation zu erreichen. Ich konnte zwar den entsprechenden Netzwerkadapter anlegen und die DS taucht in meiner FritzBox mit einer zweiten IP auf - aber über das Termin im ioBroker konnte ich die DS nicht anpingen.

                                        Wenn ich im Terminal-Adapter````
                                        arp -a

                                        
                                        Kann das was mit der aktuellen Version des DiskStation Manager zu tun haben? Ich habe da was gelesen. Leider erst nachdem ich das aktuelle Update eingespielt habe.
                                        
                                        Kannst du da einen Tipp geben?
                                        
                                        Danke für die Rückmeldung.
                                        
                                        Gruß, rrr
                                        1 Reply Last reply Reply Quote 0
                                        • Stuebi
                                          Stuebi last edited by

                                          @rrr:

                                          Hallo tstueben,

                                          vielen Dank für deinen sehr hilfreichen Beitrag! Danke, es hat mir geholfen die Einrichtung gut durchzuführen.

                                          Du hast in deinem Beitrag geschrieben:
                                          @tstueben:

                                          Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird. `

                                          Kannst du mir kurz erklären, wie ein solches Skript anlegen kann, bzw. welcher Code da rein muss?

                                          @tstueben:

                                          Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. `
                                          Darüber hinaus gelingt es mir nicht, den MySQL Server auf der DiskStation zu erreichen. Ich konnte zwar den entsprechenden Netzwerkadapter anlegen und die DS taucht in meiner FritzBox mit einer zweiten IP auf - aber über das Termin im ioBroker konnte ich die DS nicht anpingen.

                                          Wenn ich im Terminal-Adapter````
                                          arp -a

                                          
                                          Kann das was mit der aktuellen Version des DiskStation Manager zu tun haben? Ich habe da was gelesen. Leider erst nachdem ich das aktuelle Update eingespielt habe.
                                          
                                          Kannst du da einen Tipp geben?
                                          
                                          Danke für die Rückmeldung.
                                          
                                          Gruß, rrr `  
                                          

                                          Hallo 3R,

                                          ich habe immer die neuste DSM Version installiert. Momentan die Version "DSM 6.2-23739 Update 2". Auch die Docker Version ist auf dem neusten Stand.

                                          Ich habe mir folgendes Skript erstellt und rufe das im Systemsteuerung -> Aufgabenplaner alle 5 Minuten als Benutzer root auf:

                                          #!/bin/sh
                                          
                                          if ip link | grep "mac1@eth0" > /dev/null; then
                                          
                                           echo "Device mac1 existiert"
                                          
                                          else
                                          
                                           echo "Device mac1 anlegen"
                                           ip link del mac1
                                           ip link add mac1 link eth0 type macvlan mode bridge
                                           ip addr add 192.168.20.80/32 dev mac1
                                           ip link set mac1 up
                                           ip route add 192.168.20.80/28 dev mac1
                                          
                                          fi
                                          
                                          

                                          Die IP-Adresse 192.168.20.80 musst Du durch Deine aus der dem MACVLAN ersetzen. Bei mir ist es die der NAS.

                                          Also die NAS ist aus dem Docker Container mit MACVLAN Adresse nicht mehr über die "Standard" IP-Adresse der NAS zu erreichen. Du musst daher den SQL Server und alle anderen Dienste auf der NAS über die MACVLAN Adresse aus dem Docker Container aufrufen.

                                          Bsp. Dein Docker Conntainer hat die IP-Adresse 192.168.20.81 (macvlan), Die NAS 192.168.20.2 und 192.168.20.80 (macvlan IP-Adresse der NAS). Dann musst Du die Adresse 192.168.20.80 statt 192.168.20.2 für den Aufruf der NAS aus dem Docker Container angeben. Das gilt auch bei einem Ping.

                                          Ich hoffe ich konnte helfen, sonst jederzeit melden

                                          VG

                                          Stübi

                                          1 Reply Last reply Reply Quote 1
                                          • R
                                            rrr last edited by

                                            Hi Stübi,

                                            danke für deine Antwort.

                                            Hab ich mir dann auch gleich eingerichtet, das Skript. Danke! Funzt leider noch nicht ganz.

                                            Zum Überblick:

                                            xxx.xxx.xxx.1 ist mein Router

                                            xxx.xxx.xxx.21 ist meine DS

                                            xxx.xxx.xxx.161 ist der ioBroker (ab 160 ist im Router im DHCP auch ausgeschlossen)

                                            xxx.xxx.xxx.160 ist die zweite IP der DS

                                            Den von dir geposteten Code für die mac0-Netzwerkschnittstelle habe ich, wie folgt angepasst, verwendet:

                                            docker network create -d macvlan --subnet=xxx.xxx.xxx.0/24 --gateway=xxx.xxx.xxx.1 --ip-range=xxx.xxx.xxx.160/28  --aux-address 'host=xxx.xxx.xxx.160' -o parent=ovs_bond0 mac0
                                            

                                            (Ich nutze zwei der vier Ethernet-Ports in einem Bond. OVS wegen Virtual Machine Manager.)

                                            Hab also in deinem Skript die 160 verwendet. Geht leider nicht.

                                            Die zusätzliche Netzwerkschnittstelle habe ich eingerichtet und wird im DSM unter Docker angezeigt.

                                            ping xxx.xxx.xxx.160
                                            92 bytes from iobroker (xxx.xxx.xxx.161): Destination Host Unreachable
                                            

                                            Bekomme ich leider immer als Ergebnis.

                                            Eine Idee?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            199
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            112
                                            22837
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo