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.
    • G
      gutgut30 @andre last edited by gutgut30

      @andre
      Na, da habe ich mir wohl genau die richtige Version zum Starten mit dem Thema ausgesucht 😉 Danke! Auf git nach bekannten Fehlern habe ich natürlich nicht gesucht, erst mal den Fehler bei mir vermutet als Einsteiger.

      Ich hab es gerade auch noch mal mit dem Restore einer vollständigen iobroker Instanz versucht. Dabei laufe ich aber auch in einen Fehler, die alte IP scheint dabei Probleme zu machen:

      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      cat: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq: Datei oder Verzeichnis nicht gefunden
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
      
          at Server.setupListenHandle [as _listen2] (net.js:1296:21)
      
          at listenInCluster (net.js:1361:12)
      
          at doListen (net.js:1498:7)
      
          at processTicksAndRejections (internal/process/task_queues.js:85:21)
      
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
      
      ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
      

      Muss man nach dem Kopieren noch was anpasse oder ist das ggf. auch ein Fehler den man bei git eintragen sollte?

      Edit:
      Das mit der Beta klappt schon bezüglich des Restores. Top! Allerdings lande ich auch hier im Folgefehler, konnte ihn aber mit

      iobroker stop admin.0
      iobroker set admin.0 --bind 0.0.0.0
      iobroker start admin.0
      

      beheben. Danke für die Hilfe!

      1 Reply Last reply Reply Quote 0
      • E
        Ennos @Ennos last edited by

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

        Hi, ich habe seit einiger Zeit den ioBroker auf meinem Synology in Betrieb. Jetzt habe ich aber Probleme mit den Updates. Das Update des js-controllers (Version 3.1.6) kann ich über die Konsole des Portainers durchführen, es wird kein Fehler angezeigt. Nach einem Neustart des Containers wird jedoch wieder Version 3.0.19 angezeigt. Auch die Adapterupdates werden ausgeführt, nach Abschluss sind die Adapter jedoch wieder updatebar. Ich habe bereits ein recreate in Portainer versucht mit einem pull des aktuellsten Images. Das brachte jedoch keine Änderung.
        Hat jemand einen Tipp, wie ich das beheben kann?

        Hat niemand einen Tipp für mich? Ich kann leider nach wie vor keine Updates durchführen...

        Sunshinemaker 1 Reply Last reply Reply Quote 0
        • Sunshinemaker
          Sunshinemaker @Ennos last edited by

          @Ennos

          Wie wäre es den Container zu löschen und die Latest Version als neuen Container zu installieren? Vom alten vorher ein Backup machen, in einen leeren Ordnet packen. Den Ordner Mounten und neue Version vom iobroker installieren. Fertig.

          Wird von André ja auch auf der Seite entspr. beschrieben. Dann hast du alles auf dem neusten Stand.

          1 Reply Last reply Reply Quote 0
          • G
            gutgut30 last edited by

            Ich scheitere leider daran mein Redis in Backitup zu sichern. Redis läuft in einem anderen Container und kann in der Config angesprochen werden.
            Backitup möchte allerdings einen "Pfad" wissen, den kenne ich nicht. Laut Google muss ich die "Remote-Config" gemäß Doku angeben, dazu steht in der Doku aber nichts. Hat hier jemand mit identischer Konstellation einen Tipps?

            Zudem bekomme ich nach Konfiganpassungen im Portainer / Docker folgende Meldung im Start-Log und die GUI startet nicht:

            /opt/scripts/iobroker_startup.sh: Zeile 184: [: !=: Einstelliger (unärer) Operator erwartet.
            

            Meine Zeile 184 in iobroker_startup.sh

               184  elif [ $(bash iobroker object get system.adapter.admin.0 --pretty | grep -oP '(?<="host": ")[^"]*') != $(hostname) ]
            

            Das passiert vor allem dann, wenn ich gesetzte Umgebungsvariablen wieder lösche. Bekommt man das irgendwie behoben?

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

              @gutgut30 ,

              warum ein Redis Backup?

              Mache es so wie Sunshinemaker beschrieben hat, bzw. so wie es in der buanet Doku steht.

              Den Redis Container würde ich außen vor lassen, erstmal...
              Ihn kannst du ja als solchen auch mal updaten wenn es ein neues Image dazu gibt.
              Das Redis Backup vom Iobroker Container aus kann glaube ich nicht funktionieren, da backitup nicht auf den anderen Conatainer zugreifen kann

              G 1 Reply Last reply Reply Quote 0
              • G
                gutgut30 @K_o_bold last edited by gutgut30

                @K_o_bold
                Eigentlich, weil ich Redis bisher immer gesichert habe... Never Change a running...

                Aber, du hast mir da einen guten Denkanstoß gegeben. Das ist mit dem Redis-Container gar nicht zwingend notwendig.
                Wenn ich das zum Redis Container gehörende, gemountete Volume entsprechend manuell sicher gehts auch. Ist halt nicht so bequem wie der Klick im Backitup Adapter.
                Ich hätte halt gedacht: Wenn ioBroker auf die Redis Daten kommt, warum dann Backitup nicht...

                Sunshinemaker 1 Reply Last reply Reply Quote 0
                • Sunshinemaker
                  Sunshinemaker @gutgut30 last edited by Sunshinemaker

                  @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    gutgut30 last edited by gutgut30

                    Und nun hoffentlich erst mal eine letzte Frage 😉

                    Nutzt jemand (schon länger) das Image mit der Option

                    --net=host
                    

                    und hat den Portainer auf einen anderen Port umgezogen? Kam das im längeren Betrieb zu Problemen oder kann man das so laufen lassen?

                    Hintergrund: Ich bekomme meinen Bluetooth Dongle nicht zum Laufen. Der einzige Weg wie ich ihn bisher ansprechen konnte ist, wenn ich als Netzwerk "Host" setze. Das ist auch die gängige Lösung in den Docker-Foren.

                    Jetzt muss ich zwar meinen MQTT Devices die neue IP mitteilen, aber das sollte überschaubar sein.

                    1 Reply Last reply Reply Quote 0
                    • G
                      gutgut30 @Sunshinemaker last edited by

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

                      @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                      Ich fahre das Setup auf einem OpenMediaVault 5. Ich muss mal schauen wie ich da ein dauerhaftes Backup aufsetze für die Container / Container-Volumes. Ich wollte erst mal zusehen alles auf diese Kiste zu bekommen. Steiniger Weg, aber er scheint machbar zu sein. Und man lernt einiges zum Thema Docker, Linux & Co.

                      Daher der Docker auf dem Host auf der Systemplatte liegt (SSD) wäre die banalste Lösung ein Copy-Job auf die HDD im gleichen Blech.
                      Vielleicht schiebe ich zusätzlich noch auf die HDD an der Fritzbox.

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

                        @gutgut30 ,

                        noch als Tipp. Wenn du ein backup von deinen Volumes machst, dann stoppe alle container vorher.
                        Hat den Hintergrund, dass dann bei allen zu kopierenden Dateien keine Schreibprozesse mehr laufen. Somit ist dein Backup nachher auf jeden Fall sauber.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gutgut30 last edited by

                          @andre
                          Gibt es einen einfachen Weg nach dem Start der Maschine Befehle auszuführen? Ich muss meinem BT Adapter beim Containerstart etwas nachhelfen.

                          Ich könnte es in das startup-script schmeißen, aber das ist wohl bei jedem Containerupdate weg nehme ich an und ich möchte eigentlich auch nicht zwingend drin rum fummeln.

                          Es geht um diese drei Zeilen:

                          service dbus start
                          service bluetooth start
                          hciconfig hci0 up
                          
                          andre 1 Reply Last reply Reply Quote 0
                          • andre
                            andre Developer @gutgut30 last edited by

                            @gutgut30
                            Benutzerdefinierte Startup Scripte:
                            https://github.com/buanet/docker-iobroker#userdefined-startup-scripts

                            MfG,
                            Andre

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

                              @andre
                              Danke! Du hast echt an alles gedacht 🙂 👍

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

                                @gutgut30 Zumindest an alles was ich selbst verwende. 🙂

                                S G 2 Replies Last reply Reply Quote 0
                                • S
                                  Sweatchuck @andre last edited by Sweatchuck

                                  @andre

                                  Erstmal viele Dank für die tolle Docker Installation.

                                  Ich habe seit Nodejs 12.xxx ein Problem mit meinem mihome-Adapter.

                                  So wie ich das vestehe hat es damit zutun, dass canvas mit root-Rechten installiert wurde und der Adapter deshalb keinen Zugriff auf Nodesjs hat.
                                  Hatte vor Nodejs 10.xxx drauf, da hat alles wunderbar funktionert.

                                  Ich habe im Forum schon nachgefragt, leider kennt sich dort aber niemand mit der Docker-Synology Installation aus. Vielleicht hast du einen Tipp für mich oder kannst mir helfen.

                                  Mein System ist entsprechend deiner Anleitung mit portainer aufgesetzt. Hatte die letzten Jahre nie Probleme damit. Leider kenne ich mich zu wenig aus und habe echt Angst mein gut laufendes System zu beschädigen.

                                  Hier der Link zu meinem Problem. Für die Raspberry-Installation konnte dort eine Lösung gefunden werden.

                                  link text


                                  Hier die Info von jemanden mit dem gleichen Problem, damit du dich nicht extra einlesen musst:

                                  Hey, das dachte ich auch als letztes, aber dank @Thomas-Braun der mich auf den Fehler bei der Rechtevergabe einzelner Dateien unter /node_modules/canvas verwiesen hat konnte ich das Problem lösen. Habe die Rechte nach Post von Thomas-Brau von oben dann angepasst mit setfacl und siehe da, die Karte ist wieder da 😊 👍

                                  Und hier die Info von Thomas Braun:

                                  Achtung, die Rechte sind mit ACL gesetzt, mach da nichts mit chmod dran. Da muss mit setfacl rangegangen werden. Die package.json steht bei mir z. B. so:

                                  Canvas.png

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

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

                                    So wie ich das vestehe hat es damit zutun, dass canvas mit root-Rechten installiert wurde und der Adapter deshalb keinen Zugriff auf Nodesjs hat.

                                    Das sind für mich irgendwie drei Paar Schuhe...
                                    Kann dem Ganzen auch nicht so recht folgen. Funktioniert denn das "Rechte gerade biegen" auch im Container? Und viel wichtiger: Warum stimmen die Rechte nicht? Wann und wie wird denn canvas installiert?
                                    Im Moment weiß ich noch nicht wo ich da helfen kann...

                                    MfG,
                                    André

                                    S Thomas Braun 2 Replies Last reply Reply Quote 0
                                    • S
                                      Sweatchuck @andre last edited by Sweatchuck

                                      @andre

                                      Da hast du bestimmt wesentlich mehr Ahnung als ich 😉 Bin nur Anwender der nach Anleitung was machen kann.

                                      Dachte du kannst du Befehle für den Raspberry ggf. für die Synology „übersetzen“.

                                      Aber vielleicht kannst du mir sagen wie ich über die Console über portainer Nodejs wieder auf Version 10.xxx downgraden kann.

                                      Leider ist mir der Befehl dafür nicht bekannt.

                                      andre 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @andre last edited by

                                        @andre canvas wird von dem miio vaccuum Adapter zur Darstellung der Karte verwendet. Da aus irgendwelchen mir unbekannten Gründen das Modul nicht automatisch nachgezogen wird baut man das meist manuel.
                                        Wenn das dann als root erfolgt stimmen die Zugriffsrechte halt nicht.

                                        Was ich aber noch nie verstanden habe, warum kann man im Docker/Synology-Setup nicht mit dem bei Debian eigentlich üblichen sudo-Konzept arbeiten?

                                        andre 1 Reply Last reply Reply Quote 0
                                        • H
                                          hetti72 last edited by

                                          @andre Gibt es schon planungen wann daus der aktuellen 5.0.1 beta eine stable wird?
                                          Ich habe die Beta bei mir getestet und sie scheint auch soweit ich das in meiner Testumgebung beurteilen kann gut zu laufen und nun würde ich gerne mein Prod System auch auf das 5er Image anheben. Dazu wollte ich aber auf eine stable warten die die aktuellen fixes enthält.

                                          Gruß,
                                          Frank

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

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

                                            Dachte du kannst du Befehle für den Raspberry ggf. für die Synology „übersetzen“.

                                            Grundsätzlich lässt sich sowas sicher machen, aber ich bin eher ein Freund davon das Problem an der Wurzel zu lösen.Dazu muss ich das Problem aber erst einmal verstehen. 🙂

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

                                            Aber vielleicht kannst du mir sagen wie ich über die Console über portainer Nodejs wieder auf Version 10.xxx downgraden kann.

                                            Ein Downgrade würde ich dir nicht empfehlen. Das macht wenig Sinn und ist auch nicht nur "ein Befehl". Wenn es denn doch sein muss, dann kannst du hier im Forum Anleitungen für die Kommandozeile finden. Besser wäre aber wohl einen Container aus dem Image v4.2.0 zu starten.Da ist Node 10 drin. Bevorzugter Weg dazu wäre über backup und restore (siehe Best practices).

                                            MfG,
                                            André

                                            S 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

                                            888
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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