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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [HowTo] ioBroker unter Docker auf Synology DiskStation

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      qosi last edited by

      Hallo noch mal,

      habe das Gefühl meine Frage/Problem geht irgendwie unter, ich versuche es noch einmal, jedoch diesmal nicht als Reply auf ein Posting.
      Hoffe mit diesem letzten Versuch auf mein Problem aufmerksam zu machen, ggf. poste ich hier auch falsch...k.a...😕

      Ich wäre super Dankbar wenn jemand hier auf eine Quelle verweisen könnte wo ich nachlesen kann, oder ggf. anhand meiner Infos die Lösung kennt.

      Hier der Post um den es geht:
      https://forum.iobroker.net/post/419686

      Vielen Dank!🖖

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

        @qosi
        Hallo,
        hast du denn beim Erstellen deines Containers die Capabilities gesetzt?
        Hier ein paar Infos: Docker Doku.
        Und hier findet man das im Portainer:
        d93930b0-f8ca-4a41-b123-822b10ff228f-image.png
        Vermutlich fehlt dir der "NET_ADMIN".
        Ob noch Weiteres zu tun ist kann ich nicht genau sagen. Ich verwende den Adapter nur auf einem Raspberry-Multihost-Slave...

        MfG,
        André

        Q 1 Reply Last reply Reply Quote 0
        • Q
          qosi @andre last edited by qosi

          @andre
          Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:
          f522277e-8f7e-4880-8640-1a7910629f8c-image.png
          Brachte nix...dann noch in CMD hinzugefügt...
          8a4cc906-e11e-4bb9-8f79-b03ea2a79ceb-image.png
          Brachte auch nichts...
          Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...
          fb1eac29-a434-4fe1-979f-6b3988808e9b-image.png

          Das sind meine Pakete

          build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nano
          

          Leider will er einfach nicht...

          radar2.0	2020-04-27 23:51:48.223	info	(643) radar2 set to scan every 20 seconds and printers every 720 minutes.
          radar2.0	2020-04-27 23:51:48.222	info	(643) arp-scan will use the following interfaces: [ 'eth0' ]
          radar2.0	2020-04-27 23:51:48.221	info	(643) Remove name end for host names: .fritz.box
          radar2.0	2020-04-27 23:51:48.221	info	(643) use known IP list: [ '1.1.1.1' ]
          radar2.0	2020-04-27 23:51:48.220	info	(643) use known BT list: [ '01:12:23:34:45:56' ]
          radar2.0	2020-04-27 23:51:48.219	info	(643) radar2 set to flag items away if they are not seen for 2 minutes
          radar2.0	2020-04-27 23:51:48.218	warn	(643) node-bluetooth not found!
          radar2.0	2020-04-27 23:51:47.975	warn	(643) Noble not available, Error: { Error: EAFNOSUPPORT, Address family not supported by protocolat new Hci (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)at new NobleBindi
          radar2.0	2020-04-27 23:51:47.024	info	(643) Adapter disconnected and stopped with dostop(false) and callback(true)
          radar2.0	2020-04-27 23:51:47.023	error	(643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
          radar2.0	2020-04-27 23:51:47.022	error	(643) uncaught exception: bind EACCES 0.0.0.0:67
          radar2.0	2020-04-27 23:51:46.850	info	(643) net-ping not available! Will try to use normal ping!
          radar2.0	2020-04-27 23:51:46.815	info	(643) radar2 initialization started...
          radar2.0	2020-04-27 23:51:46.796	warn	(643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!
          radar2.0	2020-04-27 23:51:46.731	info	(643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19
          

          Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
          Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.

          Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
          Danke für die Doku, werde die mir noch mal in Detail reinziehen.

          Hier vielleicht noch der Log vom Container start...log.txt

          andre D 2 Replies Last reply Reply Quote 0
          • andre
            andre Developer @qosi last edited by

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

            Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)

            Hallo,
            für mich sieht das soweit eigentlich gut aus. In der einzigen Fehlermeldung die ich finden konnte meckert er an, dass er den Port 67 nicht öffnen kann. Hast du die Fehlermeldung mal durch die Forensuche gejagt?

            Ich empfehle dir da mal diesen Thread:
            https://forum.iobroker.net/topic/19794/adapter-neuer-radar2-adapter

            MfG,
            André

            1 Reply Last reply Reply Quote 0
            • D
              duffbeer2000 @qosi last edited by duffbeer2000

              @qosi Sobald du den Privileged mode aktiviert hast interessieren die capabilities nicht mehr da sie dann alle aktiviert sind. Sicherheitstechnisch solltest du den Privileged mode deaktivieren und nur die benötigten capabilities aktivieren. Ich kann das nicht oft genug sagen.

              Wenn ein externer angreifer in einen Container eindringt der im Privileged mode läuft, kann er auf eurem Host (Diskstation) sehr großen Schaden anrichten, wie z.B. alle Platten löschen.

              Und nun zum eigentlichen Problem:

              • schalte den Container aus
              • Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus
              • dreh die capabilities wieder auf den Ursprungszustand zurück
              • aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE"
              • Starte den Container wieder
              • Führe in der Console folgende Befehle aus:
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`)
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`)
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
              gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
              
              • Starte den Container neu
              Q 1 Reply Last reply Reply Quote 0
              • J
                jgee2 @andre last edited by

                @andre,

                Hi André,

                ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.

                Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.

                Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...

                Beste Grüße

                Jo

                D RK62 2 Replies Last reply Reply Quote 0
                • D
                  duffbeer2000 @jgee2 last edited by duffbeer2000

                  @jgee2 Probier mal folgendes bevor du einzelne Sachen wiederherstellst:

                  • erstelle dir ein neues iobroker_data-Verzeichnis (kannst auch anders nennen)
                  • lege in das neue iobroker_data-Verzeichnis das Backup-File
                  • erstelle dir nochmal einen nackten Container mit dem neuen iobroker_data-Verzeichnis
                  • starte den Container

                  Jetzt sollte automatisch ein Restore laufen, das dauert einige Zeit bis es komplett abgeschlossen ist. Je nach Anzahl an Adaptern bis zu 2 Stunden oder mehr.

                  Und heb dir das alte iobroker_data-Verzeichnis auf, dann kann man wenns nicht funktioniert auch damit weiter machen.

                  J 1 Reply Last reply Reply Quote 0
                  • RK62
                    RK62 @jgee2 last edited by

                    @jgee2 Beim neuen System / nach der Reparatur empfiehlt es sich diese Einstellung in der javascript-Instanz zu setzen:

                    daac53f4-ac73-491a-bd12-8b6046489994-image.png

                    Das Verzeichnis solltest Du vorher manuell anlegen.

                    Damit werden dann permanent alle Skripte lokal auf das Filesystem synchronisiert und können dort oder im Admin geändert werden.
                    Mit Hyperbackup hat man dann auch Generationssicherungen der Skripte und kann problemlos auch ein einzelnes mal wieder zurückholen.

                    Gruß, Ralf

                    J 1 Reply Last reply Reply Quote 2
                    • J
                      jgee2 @duffbeer2000 last edited by

                      @duffbeer2000

                      Hi! Das habe ich gemacht. Die Fehlermeldung beim Starten des Containers war sinngemäß, dass Dateien im Verzeichnis entdeckt wurden, die kein ioBroker Backup wären. Da habe ich dann aufgegeben. Vermutlich war das Backup bereits korrupt. Hab was draus gelernt: Meine ioBroker-Instanz wird bei mir jetzt genauso pfleglich behandelt, wie auch andere Daten. Backups mache ich jetzt regelmäßig und automatisch...

                      Trotzdem danke und viele Grüße

                      Jo

                      D 1 Reply Last reply Reply Quote 0
                      • J
                        jgee2 @RK62 last edited by

                        @RK62

                        Hi Ralf,

                        super Tipp, danke dir! Schaue ich mir nachher direkt an. Der größte Aufwand war tatsächlich, die Scripte aus der JSON-File herauszuziehen und wieder in Betrieb zu nehmen.

                        Viele Grüße

                        Jo

                        1 Reply Last reply Reply Quote 0
                        • Q
                          qosi @duffbeer2000 last edited by

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

                          gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f which arp-scan)

                          Hallo duffbeer,

                          schalte den Container aus --> check
                          Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus --> check
                          dreh die capabilities wieder auf den Ursprungszustand zurück --> check
                          aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE" --> check
                          Starte den Container wieder --> check
                          Führe in der Console folgende Befehle aus: --> ja das hab ich auch so versucht, leider passt ihm hier, wie bei vielen anderen Meldungen die man im log sieht im Moment, diese File Geschichte nicht.

                          root@iobroker1:/opt/iobroker# gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                          Failed to set capabilities on file `/usr/sbin/arp-scan' (Operation not supported)
                          The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
                          root@iobroker1:/opt/iobroker#
                          
                          1 Reply Last reply Reply Quote 0
                          • D
                            duffbeer2000 @jgee2 last edited by duffbeer2000

                            @jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"

                            @qosi
                            apr-scan ist aber installiert? kannst du das mal prüfen?
                            Gingen die anderen befehle durch? Wenn nicht dann versuchen wir es mal mit dem User iobroker, vielleicht hilft das.

                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`)
                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`)
                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
                            gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
                            
                            J Q 2 Replies Last reply Reply Quote 0
                            • J
                              jgee2 @duffbeer2000 last edited by

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

                              @jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"

                              Nein, das root-Verzeichnis war ein neues mit einem anderen Namen. Das Backup war bereits defekt. Der ioBroker hat sogar gestartet und alle Adapter ausgeführt (Daten wurden an influxDB gesendet und mit dem KNX-Bus ausgetauscht), aber die Weboberfläche des Admin-Adapters wollte nicht starten. Ältere Backups waren zu alt für meinen Zweck. Mittlerweile habe ich alles wieder hergestellt und bin dadurch etwas schlauer geworden als zuvor.

                              1 Reply Last reply Reply Quote 0
                              • Q
                                qosi @duffbeer2000 last edited by

                                @duffbeer2000

                                Sers,

                                also arp-scan ist wohl da...

                                root@iobroker1:/opt/iobroker# arp-scan -lgq --retry=7
                                Interface: eth0, datalink type: EN10MB (Ethernet)
                                Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan)
                                192.168.0.2     02:42:c0:a8:00:02
                                

                                Mit User iobroker sieht es etwas anders aus bei den Befehlen

                                root@iobroker1:/opt/iobroker# gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                                unable to set CAP_SETFCAP effective capability: Operation not permitted
                                root@iobroker1:/opt/iobroker#
                                

                                Das CAP_SETFCAP ist jedoch an...
                                44cf9c7d-ca44-43b6-8496-0a7285326e82-image.png

                                Auch bei den anderen Befehlen ist die Meldung die gleiche.
                                Habe mal den Privileged mode eingeschaltet, auch hier der gleiche Fehler.
                                31b5784b-6eb1-411c-9c3e-ed736222a585-image.png

                                Dazu sagt google, dass man andere User außer root nicht unbedingt in sudo/sudoers Gruppe legen soll.
                                Da ich kaum Linux Erfahrung habe, bin ich hierzu ratlos...

                                Danke für Eure Unterstützung!

                                1 Reply Last reply Reply Quote 0
                                • B
                                  Bongo last edited by

                                  Ich wollte ein Recreate bei einem Container machen und ich glaube ich habe es versehentlich den Container für Portainer selbst gemacht. Jetzt kommt immer die Fehlermeldung:
                                  unable to retrieve stacks

                                  In Stacks sind keine Stacks und die Container List sieht so aus:
                                  hc_227.png

                                  Kann mir einer der Portainerspezis sagen was man da tun kann?

                                  Danke für die Unterstützung.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Bongo last edited by

                                    Ich konnte den Portainer Container über Docker im DSM neu starten. Es scheint wieder zu laufen!

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

                                      Moin,
                                      hab die Tage auf die neueste V4.2 hochgerüstet.
                                      Soweit läuft auch alles, nur meine Synology-Instanz kann sich nicht mehr mit der DS verbinden.
                                      Ich habe ein MACVLAN und der Container schaut gleichzeitig auch auf das Bridge-Netzwerk.
                                      Dies hatte ich damals mal eingerichtet, da der Container sonst nicht mehr auf einen anderen Container bzw auf sein Host schauen kann, hatte ja auch geklappt.

                                      Jetzt ist der Thread hier mittlerweile doch sehr groß und unübersichtlich geworden, ich finde den Part nicht mehr, wo dies alles erklärt wurde. Beim Andre auf Buanet wird auch nur auf dieses Forum verwiesen bei den Kommentaren.

                                      Mein Bridge-Netzwerk ist:
                                      bridge
                                      Subnet - 172.17.0.0/16 Gateway - 172.17.0.1

                                      ioBroker-Container (MACVLAN):
                                      iob_public
                                      Subnet - 192.168.33.0/24 Gateway - 192.168.33.100
                                      und hat die interne Adresse:
                                      172.17.0.3

                                      Die DS hat:
                                      192.168.33.101

                                      Wie gesagt, es lief ja bis vor kurzem, daher wundert mich jetzt, wenn ich in den Terminal gehe und einen Ping auf die Synology machen möchte, der die nicht erreichen kann.

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

                                        @tugsi Aus dem Container solltest du die Synology unter der 172.17.0.1 erreichen können. Falls nicht könnte es sein das du die Firewall auf der Synology aktiviert hast?

                                        gruß,
                                        Hetti

                                        tugsi 1 Reply Last reply Reply Quote 0
                                        • tugsi
                                          tugsi @hetti72 last edited by

                                          @hetti72
                                          hallo Hetti,
                                          ja die 172.17.0.1 kann ich erreichen, nur ich hatte im Adapter immer die 192.168.33.101 eingestellt gehabt und damit klappte es eigentlich auch.
                                          Deswegen bin ich jetzt irritiert, dass ich die 192.168.33.x-Bereich nicht mehr erreichen kann aus den Container.

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

                                            @tugsi Du hast wahrscheinlich mit dem iobroker update auf 4.2 nach der Buanet Anleitung ein MACVLAN eingerichtet, oder?
                                            Bei dieser Netzwerkvariante können sich die Synology und auch alle anderen Container die im MACVLAN Modus laufen Netzwerktechnisch untereinander nicht erreichen. Eine Kommunikation ist nur über das zuätzliche Docker interne Bridge Netzwerk möglich.
                                            Das lässt sich nur mit Synologys umgehen die 2 Netzwerkanschlüsse haben. Da lässt man über den einen die Diskstation kommunizieren und auf den anderen physikalischen Anschluss bindet man das MACVLAN, dann könnte der iobroker im Container wieder die Synology mit der "normalen" IP erreichen.

                                            tugsi 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

                                            993
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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