Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [HowTo] ioBroker unter Docker auf Synology DiskStation

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active @dtp last edited by haselchen

      @dtp

      Vielleicht hilft es: google meint es muss global installiert werden. Deswegen das -g

      npm install -g wscat

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

        @haselchen sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

        npm install -g wscat

        Danke für den Tipp. Es war aber noch nicht die ganze Miete. Mit

        sudo npm install -g wscat
        

        hat's letztlich funktioniert.

        2019-12-29_16h50_07.png

        1 Reply Last reply Reply Quote 0
        • S
          Shwowak @andre last edited by Shwowak

          @andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

          bridge:
          driver: bridge
          ipam:
          config:
          - subnet: 172.18.0.0/16
          gateway: 172.18.0.1
          ip_range: 172.18.0.1/24

          Geht das so ?

          version: '2.4'
          
          services:
          
          
            
            
          
            mqtt:
             restart: always
             ports:
               - "1884:1884"
               - "9001:9001"
             image: toke/mosquitto
             networks:
                fhem-network: {}
             volumes:
               - ./mqtt/config/:/mqtt/config/
               - ./mqtt/log/:/mqtt/log/
               - ./mqtt/data/:/mqtt/data/
          
            portainer:
              restart: always
              image: portainer/portainer:1.21.0
              volumes:
                - ./portainer/:/data
                - /var/run/docker.sock:/var/run/docker.sock
              ports:
                - "9000:9000"
          
            deconz:
              image: marthoc/deconz
              container_name: deconz
              network_mode: host
              restart: always
              volumes:
                - /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ
              devices:
                - /dev/ttyUSB0
              environment:
                - DECONZ_WEB_PORT=80
                - DECONZ_WS_PORT=443
                - DEBUG_INFO=5
                - DEBUG_APS=0
                - DEBUG_ZCL=0
                - DEBUG_ZDP=0
                - DEBUG_OTAU=0
            
          
            mymediaforalexa:
              restart: always
              image: bizmodeller/mymediaforalexa
              ports:
                - "52050:52050"
                - "52051:52051"
              volumes:
                - ./Music:/opt/medialibrary \
                - ./.MyMediaForAlexa:/opt/datadir
                
          
              networks:
                fhem-network: {}
          
            magic_mirro:
              restart: always
              image: bastilimbach/docker-magicmirror
              ports:
                - "85:8080"
              volumes:
                - ./magic_mirror/config:/opt/magic_mirror/config \
                - ./magic_mirror/modules:/opt/magic_mirror/modules \
                - ./magic_mirror/css:/opt/magic_mirror/css/custom.css \
              networks:
                fhem-network: {}  
          
            
                    
          
           
              
          
            iobroker:
              restart: always      
              image: buanet/iobroker:latest
              volumes:
                - /etc/localtime:/etc/localtime:ro
                - /home/pi/smarthome//iobroker:/opt/iobroker
              networks:
                macvlan0:
                  ipv4_address: 192.168.200.17
                fhem-network: {}
          
          networks:
          
            fhem-network:
              driver: bridge
          
            macvlan0:
              driver: macvlan
              driver_opts:
                parent: eth0
              ipam:
                config:
                - subnet: 192.168.200.1/24
                  gateway: 192.168.200.1
                  ip_range: 192.168.200.17/32
          
          
          

          Im docker compose. ?

          1 Reply Last reply Reply Quote 0
          • andre
            andre Developer @eve11 last edited by

            @eve11 Hallo Heiko,
            hast du die Version des Images gewechselt? Wie sieht deine Node-Version alt und neu aus (node -v)?
            Falls du eine andere Major-Version verwendest, dann musst du auf jeden Fall reinstall.sh bzw. npm rebuild ausführen... Siehe dazu auch die offizielle ioBroker Doku zum Thema Node upgrade...

            MfG,
            André

            1 Reply Last reply Reply Quote 0
            • andre
              andre Developer @dtp last edited by

              @dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

              @andre Kannst du versuchen, das zu fixen?

              Wenn du mir sagst was ich fixen soll? 🙂 Am liebsten per Issue auf Github....

              MfG,
              André

              D 1 Reply Last reply Reply Quote 0
              • K
                Kunibert last edited by

                HELP!
                Ich hoffe, ich habe es nicht übersehen, dass jemand anderes das Problem bereits gepostet und gelöst hat...
                Habe die V4.0 des Containers heute gestartet und obwohl ich eigentlich mit dem JS-Controller längst auf der Version 2.x war bin ich nun wohl wieder auf der V.1.5.14 gelandet.
                iobroker-error js-controller.PNG

                Ich habe jetzt diese Befehle durch und probiert:

                • reinstall.js > Installiert nur V.1.5.14 neu
                • npm install ioBroker/ioBroker.js-controller > Installiert auch nur V.1.5.14 neu. Habe ich mit Endung --production und ohne probiert.

                Container habe ich nun mehrfach neu angelegt, alles ohne Erfolg.

                Hattet ihr auch solche Probleme nach einem Container-Update? Und wie kann es sein, dass der js-controller nach dem Update einen älteren Stand aufweist? Und wie habt ihr es ggf. gelöst?
                Komme jetzt nicht mehr auf die Admin-Oberfläche etc....

                Lieben Dank für eure Hilfe!

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kunibert @Kunibert last edited by

                  @Kunibert
                  Ok, habe es gefixt bekommen aber nur durch eine neue ioBroker-Hülle. Habe den Container neu erstellt und das letzte Backup (Backitup-Adapter) wiederhergestellt. Damit stimmt jetzt auch die js-controller-Version wieder. Dennoch irritiert mich, wie das Problem überhaupt entstehen konnte. Wieso sich auch immer der js-controller selbstständig downgegradet hat... Ich hoffe, das passiert beim nächsten Container-Update nicht mehr 😞

                  1 Reply Last reply Reply Quote 0
                  • T
                    tcfigge @tcfigge last edited by

                    @tcfigge
                    Hallo,
                    ich bin mit meinem Problem nicht weiter gekommen.
                    Wenn ich einen neuen Container starte, dann meine Ordner aus der alten Struktur einfach rüberkopiere, startet er zwar,meine installierten Adapter tauchen auch unter ADAPTER als installiert auf, aber nicht unter Instanzen...
                    Denn alten Container einen js.controller zu verpassen scheitert auch kläglich...
                    62dcc424-7d8c-49e7-b3e1-cc2bd27f94ba-image.png
                    Hab so ziemlich alles an Befehlen eingegeben was ich finden konnte...👼 😧
                    Kann mich jemand in die richtige Richtung schupsen?
                    Danke!

                    andre 1 Reply Last reply Reply Quote 0
                    • T
                      Telefisch last edited by

                      Hallo Gemeinde...
                      aufgrund diverser Schwierigkeiten seit dem letzten Update habe ich mich entschlossen meinen Container (V1/2?) komplett neu aufzusetzen und ein das letzte bestehende Backup einzuspielen.
                      Portainer scheint ja nun state of the art zu sein und so schlage ich mich grade mit dem Netzwerk, bzw. mit der Entscheidung welches Netzwerk zu verwenden ist rum.
                      Leider ist im Tutorial nicht ein Wort zu den beiden "einfachen" Varianten verloren worden.
                      Also technisch scheint mir die MACVLAN Variante eh am besten aber da habe ich doch eine entscheidende Frage:
                      Meine WLAN-Teilnehmer, die mit dem iob kommunizieren (Modbus SPS, diverser China-Trödel, VIS etc.) liegen aktuell im Standard Heimnetzwerk, wie alle Teilnehmer.
                      Wenn ich nun dieses MACVLAN verwende baue ich doch im Prinzip ein komplett neues Netzwerk auf mit eigenem Adressbereich.
                      Das heißt ich muss alle Teilnehmer auch an dieses neue Netzwerk anknoten?
                      Also von jedem Familienmitglied auch das Handy in ein anderes Netz heben?
                      Irgendwie verstehe ich im Moment noch so gar nicht wie das funktioniert und ob der Aufwand (wenn es so ist wie ich glaube) im Verhältnis zum Nutzen steht. (Wer macht da eigentlich das Routing?)
                      Bisher läuft der Docker mit host. Das war das einzige was seinerzeit problemlos lief mit nahezu allen Adaptern.

                      Kleine Info zu meinem Verständnislevel:
                      Bei mir ist der ioBroker kein Fulltime-Hobby!
                      Ich habe sicherlich deutlich mehr als Noob-Level, bin aber weit vom Nerd entfernt.
                      Also bitte ich um Hilfe für einen Netzwerk- und Linux-Legasteniker.

                      Danke....

                      StM47 andre 2 Replies Last reply Reply Quote 0
                      • StM47
                        StM47 @Telefisch last edited by

                        @Telefisch

                        Ich hatte mich auch für Portainer entschieden, habe es aber wieder Beiseite geschoben, da es für normale ioBroker Installationen nicht essentiell ist.

                        Gerade die Netzwerkeinstellungen sind nicht unbedingt etwas für Laien.

                        Darum habe ich ioBroker einfach wie gehabt, nur im Docker als Host installiert und alles funktioniert wunderbar.

                        Bildschirmfoto 2020-01-04 um 18.29.58.png

                        T 1 Reply Last reply Reply Quote 0
                        • andre
                          andre Developer @tcfigge last edited by

                          @tcfigge
                          Sieht aus als würden deine Befehle am "sudo" scheitern. Welche netzwerkkonfiguration nutzt du? MACVLAN. Bridge oder Host?
                          Hast du mal ein "npm rebuild" versucht?

                          MfG,
                          André

                          T 1 Reply Last reply Reply Quote 0
                          • andre
                            andre Developer @Telefisch last edited by

                            @Telefisch
                            Hallo,
                            MACVLAN ist nur für fortgeschrittene Nutzer zu empfehlen. Hier benötigt man schon ein wenig Hintergrundwissen zum Thema Netzwerk....
                            Hast du mal hier (https://buanet.de/knowledge-base/networking/) gestöbert? Im Tutorial war leider kein Platz um ausführlich auf die Möglichkeiten in Bezug auf Netzwerk ein zu gehen. Daher der Hinweis, dass ich es in die Knowledge Base ausgelagert habe...

                            Was MACVLAN angeht, hast bist du gedanklich irgendwo falsch abgebogen. Es wird hier kein anderes Netz angelegt. Du definierst nur einen speziellen Netzbereich (im Tutorial genau eine Adresse) aus deinem Heimnetz. Dieses Netz/ bzw. die eine Adresse wird dann zusätzlich zu der Adresse deiner DS virtuell auf die Netzwerkschnittstelle der DS gelegt. Über die IP der DS erreichst du dann die DS und über die MACVLAN-Adresse den ioBroker..

                            Lange Rede, kurzer Sinn, für dich ist es wahrscheinlich besser die Host-Variante zu verwenden.
                            Dabei verwendet der ioBroker die selbe IP-Adresse wie deine DS. Von außen fühlt es sich dann in etwa so an, als würde der ioBroker nur eine App auf der DS sein....
                            Einrichtung ist relativ simpel. Einfach als Netzwerk bei der Erstellung des Containers das Netzwerk "host" auswählen...

                            Anders als @StM47 empfehle ich grundsätzlich Portainer als Weboberfläche für Docker. Hier hat man einfach mehr Möglichkeiten.

                            MfG,
                            André

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              Telefisch @andre last edited by Telefisch

                              @andre Danke für Deine Antwort...
                              Naja so ein Noob bin ich nun auch nicht. Ich hatte lediglich ein Verständnisproble mit der Aussage "ich vertraue den chinesischen Netzwerkteilnehmern nicht", die ich in dem Zusammenhang irgendwo gelesen habe.
                              Da war ich von ausgegangen, dass hier ein echtes VLAN angelegt wird.
                              Also wird hier im Grunde nur eine virtuelle Netzwerkschnittstelle angelegt.
                              Das würde sich im Grunde dann ja lediglich auf die VIS-User auswirken.

                              Ich habe aber grade ein viel größeres Problem.
                              Ich habe das Image meines "alten" Docker aktualisiert und kann jetzt einige Adapter nicht mehr aktualisieren.
                              Jetzt mache ich schon seit zwei Tagen damit rum das irgendwie grade zu biegen, u.a. mit diesen HowTos:
                              https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten/2
                              Blöd ist nur, dass die hälfte der Befehle so gar nicht funktioniert.
                              Es ist ja richtig, dass ich das im Terminal des Docker-Container ausführen muss?
                              Ich bekomme da solche Meldungen:
                              root@iobroker:/opt/iobroker# npm rebuild
                              sudo: Hostname iobroker kann nicht aufgelö st werden
                              sudo: Die Autit-Nachricht kann nicht gesendet werden: Unbekannter Fehler -1
                              sudo: Pam_open_session: Systemfehler
                              sudo: Regelwerks-Plugin konnte Sitzung nicht initialisieren

                              "curl -sL https://iobroker.net/fix.sh | bash -" funktioniert nur, wenn das letzte "-" Zeichen wegfällt.
                              Sonst kommt curl: Option -; is unknown
                              Ist das richtig? was bedeutet das letzte -?

                              Sowas und ähnliches habe ich sehr häufig.
                              Irgend eine Idee, wie ich am besten vorgehe?

                              PS: Im Moment bin ich noch direkt im Docker, ohne portainer

                              1 Reply Last reply Reply Quote 0
                              • T
                                Telefisch @StM47 last edited by Telefisch

                                @StM47 sooo gewaltig kompliziert ist das nun auch wieder nicht.

                                Ich weiß wie mein Netzwerk aufgebaut ist, welche Adressen verfügbar sind (ohne vom DHCP Server verwendet zu werden).
                                Welche Netzwerkschnittstelle meine DS hat ist auch nicht so kompliziert herauszufinden.
                                Da meines Wissens nach Linux immer mit eth0 beginnt, kann es nur eth0 oder eth1 sein.
                                Ein Blick in die Netzwerk-Einstellungen verrät mir, dass das Haupt-Netzwerk an Port 1 hängt, somit ist die Wahrscheinlichkeit dass es eth0 ist schonmal sehr hoch.

                                DS-Netzwerkschnittstelle.PNG

                                Mein Verständnisproblem war, dass ich davon ausgegangen war, dass damit ein komplettes VLAN angelegt wird.
                                Ich probier das mal, Versuch macht kluch...

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  Telefisch @Telefisch last edited by Telefisch

                                  Also das hat ganz hervorragend geklappt.
                                  Jetzt hab ich nur noch das Problem, dass einige Adapter nicht upgedatet werden können, darunter der Admin 😞

                                  @andre kann man das volume im nachhinein im portainer ändern?
                                  Zumindest die Kommandozeile scheint da gut zu laufen und schmeisst mir beim manuellen update des cloud-adapters einen Fehler, der auf die Rechte hindeutet.
                                  Ich würde dann vorerst nochmal das iobroker-mount Verzeichnis aus meiner alten Installation probieren.

                                  Edit: hab nen neuen Container mit dem „alten“ Volume-Pfad angelegt, bekomme aber immernoch komische Fehler:

                                  41031CC2-5CFB-4D45-B3BE-37D82F1B2837.jpeg

                                  andre 1 Reply Last reply Reply Quote 0
                                  • T
                                    tcfigge @andre last edited by

                                    @andre
                                    Hallo andre!
                                    Danke für die Hilfe!
                                    Die Container laufen im HOST.
                                    npm rebuild:
                                    3ee47d90-ec10-40f7-b418-ea5356f7895d-image.png

                                    1 Reply Last reply Reply Quote 0
                                    • andre
                                      andre Developer @Telefisch last edited by

                                      @Telefisch
                                      Wie du schon raus gefunden hast, muss man bei Docker in den meisten Fällen einen neuen Container anlegen. Sollte aber auch kein riesen Ding sein. Dazu gibt es ja schließlich den "Edit/ Duplicate" Button im Portainer....

                                      Was deinen Fehler aus dem Screenshot angeht, da würde ich die Dateien einfach per Hand löschen/ umkopieren und nochmal versuchen... Sieht mir nicht nach nem großen Ding aus...

                                      MfG,
                                      André

                                      T 1 Reply Last reply Reply Quote 0
                                      • andre
                                        andre Developer @andre last edited by

                                        @tcfigge
                                        Sieht mir nach dem bekannten Bug aus... Wenn du im Host-Modus versuchst sudo zu verwenden (auch wenn du es nicht aktiv machst, sondern etwas was du aufrufst) dann kommt der Fehler.
                                        Das liegt daran, dass der Synology DSM immernoch auf einer veralteten Linux-Kernel-Version läuft...

                                        @andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                        Außerdem noch kurz was zum netzwerkthema.
                                        In v2 war es kein Problem mit der Option "host" zu arbeiten. Allerdings nutzt das neue ioBroker setup ab sofort sudo (intern). Aufgrund eines Bugs im von synology derzeit für den dsm verwendeten Betriebssystem kernel lässt sich in einem Container, der "host" network verwendet aktuell kein sudo nutzen. Ergebnis iobroker läuft unter Umständen nicht, oder startet z. B. Nicht.
                                        Lösung: bridge oder macvlan als netzwerkoption verwenden. Nachteil:
                                        macvlan = eher für fortgeschrittene,
                                        bridge = jeder von Adaptern und iob selbst verwendete port muss manuell konfigutiert/ weitergeleitet werden.

                                        @andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                        Issue Report für das Kernel Problem kenne ich nicht und habe ich aufgrund der geringen Fix-Wahrscheinlichkeit auch nicht bei Synology gemeldet.
                                        Wenn man aber die audit-Fehlermeldung, welche man beim Verwenden von sudo in dem entsprechenden Fall bekommt mal sucht, dann bekommt man stack overflow beiträge wo es genau darum geht (ist nicht synology spezifisch!).
                                        Aber wie gesagt (und sehr ärgerlich) es betrifft die Kernel Version die der DSM aktuell verwendet. Ich habe ein Debian mit aktuellem Linux Kernel da ist das kein Problem. Da läuft der ioBroker auch im Host-Mode...

                                        Das Thema ist hier schon mehrfach diskutiert worden. Für die Probleme beim Start des ioBrokers habe ich einen Fix in das Startupscript eingebaut. Alle weiteren Befehle kranken weiterhin an dieser Einschränkung...

                                        Ein Workaround könnte sein für die Durchführung z.B. eines "npm rebuild" einen Container mit Bridge Netzwerk zu erstellen, die Befehle durchlaufen zu lassen und wieder auf host-modus zurück zu kehren.
                                        Theoretisch ließe es sich sogar so arrangieren, dass man zwei Container anlegt, die auf das selbe Verzeichnis zugreifen. Darf dann natürlich immer nur einer zur Zeit laufen...

                                        MfG,
                                        André

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          tcfigge @andre last edited by

                                          @andre
                                          Danke für die Info´s!
                                          Da werde ich mich jetzt mit beschäftigen...werde mich bemühen auf macvlan zu gehen. Alles besser als jetzt direkt alle Scripte und Scenen neu zu schreiben!

                                          Im macvlan braucht man auch das Startscript nicht?

                                          Dann werde ich mich daran versuchen. Host hatte ich nur der Einfachheit halber gewählt...
                                          Danke und einen schönen Restsonntag.
                                          Thorsten

                                          andre 1 Reply Last reply Reply Quote 0
                                          • G
                                            gerald123 last edited by

                                            Hallo Andre,
                                            Ich habe bei mir auf der Synology 918 über Portainer deinen Container mit macvlan am laufen.
                                            Jetzt möchte ich zu Testzwecken einen zweiten Container aufsetzten der komplett getrennt mit eigenem macvlan läuft.
                                            Kann ich da jetzt nach deiner Anleitung einfach ein zweites macvlan mit eigener IP Adresse anlegen oder ist da noch was anderes zu berücksichtigen?

                                            Lg. Gerald

                                            andre 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

                                            909
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            buanet diskstation docker iobroker synology
                                            248
                                            2854
                                            1167162
                                            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