Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [HowTo] ioBroker unter Docker auf Synology DiskStation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

[HowTo] ioBroker unter Docker auf Synology DiskStation

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
iobrokerdockerbuanetsynologydiskstation
2.9k Beiträge 248 Kommentatoren 1.6m Aufrufe 123 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • andreA andre

    @Satsh Soweit alles richtig gemacht.

    @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

    Aber wieso funktioniert der Restore beim FirstStart nicht? Gibt es da irgendwelche Hinweise? Bin auch durchaus bereit hier noch zu unterstützen und Sachen zu debuggen.

    Der Restore funktioniert aufgrund eines Zugriffsproblems nicht. Kurzum, irgendwas mit den Berechtigungen stimmt da nicht.

    @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

    Cannot save /opt/iobroker/iobroker-data/states.json: Error: EACCES: permission denied, open '/opt/iobroker/iobroker-data/states.json.bak'

    Das ist der Übeltäter. Habe in letzter Zeit vermehrt Anfragen dazu. Habe noch nicht rausgefunden was da los ist und ob sich da irgendwo etwas verändert hat, auf das ich im image vielleicht reagieren muss...
    folgendes würde mich in deinem Fall interessieren:

    1. Nutzt du eine DiskStation als Docker Host?
    2. Wie und wo legst du das Verzeichnis an, dass du für /opt/iobroker verwendest?
    3. Mit welchem User auf der DS arbeitest du (also aus Sicht der Berechtigungen)?
    4. Wie kopierst du das Backupfile?
    5. Irgendwelse Besonderheiten/ Hindernisse vor dem ersten Start des Containers?

    MfG,
    André

    S Offline
    S Offline
    Satsh
    schrieb am zuletzt editiert von Satsh
    #2198

    @andre

    1. Ja, ioBroker läuft direkt auf meiner DS
    2. Ich habe innerhalb der DS einen gemeinsamen Ordner /Docker, unter dem ich die einzelnen Mountpoints anlege, damit sie ins Backup laufen. Für ioBroker mache ich einen lokalen Bind auf /volume1/Docker/iobroker (Beispiel), ich nutze für ioBroker kein Volume im Docker.
    3. Ohne User, da lokaler Bind.
    4. Ich habe zwei Wege probiert, da ich von dem "Kopierfehler über Windows" gelesen habe: 1. Copy&Paste innerhalb der DS (CMD+C,CMD+V) 2. Download von der DS, Upload auf die DS
    5. Ich clone den alten ioBroker Container und führe danach folgende Änderungen durch:
    • Bind auf neues, leeres Verzeichnes (damit ich im Notfall das alte Verzeichnis noch mit dem alten Container als Fallback wieder hochfahren kann)
    • Pull des neues Image (hier 5.0.0)
    • Kopieren des letzten Backups in das root des neuen Verzeichnisses

    Irritierend ist ja, dass das Verzeichnis komplett leer ist und damit ja keine Verzeichnisse mit falschen Berechtigungen existieren. Alles was erzeugt wird, wird von ioBroker erzeugt. Und entpacken kann er das Backup ja scheinbar und legt damit auch Verzeichnisse an. Und danach hat er ein Problem ein selbst angelegtes File zu lesen? Das klingt schon sehr seltsam...

    Ich weiß nur leider nicht wo ich zum Debuggen dazwischenfunken kann. Wo ist denn das Script, was das Backup dabei behandelt? Dann schaue ich mal drüber...

    1 Antwort Letzte Antwort
    0
    • andreA andre

      @Satsh Soweit alles richtig gemacht.

      @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

      Aber wieso funktioniert der Restore beim FirstStart nicht? Gibt es da irgendwelche Hinweise? Bin auch durchaus bereit hier noch zu unterstützen und Sachen zu debuggen.

      Der Restore funktioniert aufgrund eines Zugriffsproblems nicht. Kurzum, irgendwas mit den Berechtigungen stimmt da nicht.

      @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

      Cannot save /opt/iobroker/iobroker-data/states.json: Error: EACCES: permission denied, open '/opt/iobroker/iobroker-data/states.json.bak'

      Das ist der Übeltäter. Habe in letzter Zeit vermehrt Anfragen dazu. Habe noch nicht rausgefunden was da los ist und ob sich da irgendwo etwas verändert hat, auf das ich im image vielleicht reagieren muss...
      folgendes würde mich in deinem Fall interessieren:

      1. Nutzt du eine DiskStation als Docker Host?
      2. Wie und wo legst du das Verzeichnis an, dass du für /opt/iobroker verwendest?
      3. Mit welchem User auf der DS arbeitest du (also aus Sicht der Berechtigungen)?
      4. Wie kopierst du das Backupfile?
      5. Irgendwelse Besonderheiten/ Hindernisse vor dem ersten Start des Containers?

      MfG,
      André

      S Offline
      S Offline
      Satsh
      schrieb am zuletzt editiert von
      #2199

      @andre

      Ich glaube ich habe die Ursache gefunden:

      root@iobroker:~# tar tvf /opt/initial_iobroker.tar | grep root.root
      drwxr-xr-x root/root              0 2020-10-19 14:15 opt/iobroker/node_modules/iobroker.js-controller/tmp/
      -rw-r--r-- root/root           28844 2020-10-19 14:15 opt/iobroker/iobroker-data/backup-objects/2020-10-19_12-15_objects.json.gz
      -rw-r--r-- root/root              22 2020-10-19 14:15 opt/iobroker/iobroker-data/backup-objects/2020-10-19_12-15_states.json.gz
      -rw-r--r-- root/root               2 2020-10-19 14:15 opt/iobroker/iobroker-data/states.json.bak
      -rw-rw-r-- root/root              13 2020-10-19 14:15 opt/iobroker/.install_host
      

      Es gibt im initial_iobroker.tar einige Dateien, die root.root gehören - insbesondere auch die states.json.bak - die der iobroker beim restore 0 wahrescheinlich überschreiben möchte - aber wahrscheinlich nicht kann, weil (Vermutung!) iobroker selber einen priviledge drop macht?

      S

      andreA 1 Antwort Letzte Antwort
      0
      • S Satsh

        @andre

        Ich glaube ich habe die Ursache gefunden:

        root@iobroker:~# tar tvf /opt/initial_iobroker.tar | grep root.root
        drwxr-xr-x root/root              0 2020-10-19 14:15 opt/iobroker/node_modules/iobroker.js-controller/tmp/
        -rw-r--r-- root/root           28844 2020-10-19 14:15 opt/iobroker/iobroker-data/backup-objects/2020-10-19_12-15_objects.json.gz
        -rw-r--r-- root/root              22 2020-10-19 14:15 opt/iobroker/iobroker-data/backup-objects/2020-10-19_12-15_states.json.gz
        -rw-r--r-- root/root               2 2020-10-19 14:15 opt/iobroker/iobroker-data/states.json.bak
        -rw-rw-r-- root/root              13 2020-10-19 14:15 opt/iobroker/.install_host
        

        Es gibt im initial_iobroker.tar einige Dateien, die root.root gehören - insbesondere auch die states.json.bak - die der iobroker beim restore 0 wahrescheinlich überschreiben möchte - aber wahrscheinlich nicht kann, weil (Vermutung!) iobroker selber einen priviledge drop macht?

        S

        andreA Offline
        andreA Offline
        andre
        Developer
        schrieb am zuletzt editiert von
        #2200

        @Satsh Hab mir das gerade mal genauer angeschaut. In der Tat gibt es da Probleme mit den Berechtigungen.
        Habe das jetzt im Startupscript beim Restore abgefangen. Beim ersten Test hat das wunderbar funktioniert. Warum es aber jetzt plötzlich zu solch einem Fehler kommt ist mir ein Rätsel. Mein Letzter Restore am Livesystem hat tadellos funktioniert...

        Achso, aktuell ist der Fix noch nicht in der Beta enthalten. Muss noch zwei andere Sachen prüfen (und Dokumentieren) und mache dann eine neue Beta-Version.

        MfG,
        André

        Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

        S 1 Antwort Letzte Antwort
        0
        • andreA andre

          @Satsh Hab mir das gerade mal genauer angeschaut. In der Tat gibt es da Probleme mit den Berechtigungen.
          Habe das jetzt im Startupscript beim Restore abgefangen. Beim ersten Test hat das wunderbar funktioniert. Warum es aber jetzt plötzlich zu solch einem Fehler kommt ist mir ein Rätsel. Mein Letzter Restore am Livesystem hat tadellos funktioniert...

          Achso, aktuell ist der Fix noch nicht in der Beta enthalten. Muss noch zwei andere Sachen prüfen (und Dokumentieren) und mache dann eine neue Beta-Version.

          MfG,
          André

          S Offline
          S Offline
          Satsh
          schrieb am zuletzt editiert von
          #2201

          @andre
          Blöde Frage: aber was muss man da groß fixen - außer die Files im initial_iobroker.tar mit den korrekten user/group Rechten zu versehen? Oder übersehe ich etwas und die Ursache war noch eine Andere?

          Ich denke es kommt auch darauf an, wie man den Mount einbindet. Bei einem nfs mit all-squash oder einem CIFS mit fixed user credentials würde das Problem nicht auftreten denke ich, da hier der User vom Transportprotokol festgetackert wird - egal welche Berechtigungen das File eigentlich hatte.

          andreA 1 Antwort Letzte Antwort
          0
          • S Satsh

            @andre
            Blöde Frage: aber was muss man da groß fixen - außer die Files im initial_iobroker.tar mit den korrekten user/group Rechten zu versehen? Oder übersehe ich etwas und die Ursache war noch eine Andere?

            Ich denke es kommt auch darauf an, wie man den Mount einbindet. Bei einem nfs mit all-squash oder einem CIFS mit fixed user credentials würde das Problem nicht auftreten denke ich, da hier der User vom Transportprotokol festgetackert wird - egal welche Berechtigungen das File eigentlich hatte.

            andreA Offline
            andreA Offline
            andre
            Developer
            schrieb am zuletzt editiert von
            #2202

            @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

            aber was muss man da groß fixen

            Nichts, hat ja keiner gesagt dass es was großes ist... ;)

            @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

            Files im initial_iobroker.tar mit den korrekten user/group Rechten zu versehen

            Seitdem ioBroker unter dem user iobroker läuft, gibt es immer wieder mal Probleme mit Berechtigungen. Aus diesem Grund setze ich im Startupscript bei jedem Start den Eigentümer des gesamten Ordner "/opt/iobroker" im Conntainer auf den user iobroker. Im Falle des Restores müsste das aber zwischen umkopieren restore passieren.
            Genau da habe ich es jetzt mit eingefügt, sodass beim restore unter dem user iobroker sichergestellt ist, dass dieser alle relevanten Dateien bearbeiten darf.

            @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

            Ich denke es kommt auch darauf an, wie man den Mount einbindet. Bei einem nfs mit all-squash oder einem CIFS mit fixed user credentials würde das Problem nicht auftreten denke ich, da hier der User vom Transportprotokol festgetackert wird - egal welche Berechtigungen das File eigentlich hatte.

            Jein. nfs und cifs haben damit wenig zu tun. Der mount im Container ist ja kein echter mount. Vielmehr wird dem Container lediglich der Zugriff auf einen bestimmten Ordner im Filesystem des Hosts gewährt. Das merkt man auch, wenn man sich die Berechtigungen des Ordners auf dem Host mal anschaut...
            An der Stelle breche ich jetzt aber ab... Das Thema kann ich hier nicht in ein paar Worten erklären...
            Nur soviel: Wenn dich das Thema interessiert, probiere mal die Umgebungsvariablen zu uid und gid... und schau dir dann die Berechtigungen der Dateien im ioBroker Ordner auf dem Host an....

            MfG,
            André

            Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

            S 1 Antwort Letzte Antwort
            0
            • andreA andre

              @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

              aber was muss man da groß fixen

              Nichts, hat ja keiner gesagt dass es was großes ist... ;)

              @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

              Files im initial_iobroker.tar mit den korrekten user/group Rechten zu versehen

              Seitdem ioBroker unter dem user iobroker läuft, gibt es immer wieder mal Probleme mit Berechtigungen. Aus diesem Grund setze ich im Startupscript bei jedem Start den Eigentümer des gesamten Ordner "/opt/iobroker" im Conntainer auf den user iobroker. Im Falle des Restores müsste das aber zwischen umkopieren restore passieren.
              Genau da habe ich es jetzt mit eingefügt, sodass beim restore unter dem user iobroker sichergestellt ist, dass dieser alle relevanten Dateien bearbeiten darf.

              @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

              Ich denke es kommt auch darauf an, wie man den Mount einbindet. Bei einem nfs mit all-squash oder einem CIFS mit fixed user credentials würde das Problem nicht auftreten denke ich, da hier der User vom Transportprotokol festgetackert wird - egal welche Berechtigungen das File eigentlich hatte.

              Jein. nfs und cifs haben damit wenig zu tun. Der mount im Container ist ja kein echter mount. Vielmehr wird dem Container lediglich der Zugriff auf einen bestimmten Ordner im Filesystem des Hosts gewährt. Das merkt man auch, wenn man sich die Berechtigungen des Ordners auf dem Host mal anschaut...
              An der Stelle breche ich jetzt aber ab... Das Thema kann ich hier nicht in ein paar Worten erklären...
              Nur soviel: Wenn dich das Thema interessiert, probiere mal die Umgebungsvariablen zu uid und gid... und schau dir dann die Berechtigungen der Dateien im ioBroker Ordner auf dem Host an....

              MfG,
              André

              S Offline
              S Offline
              Satsh
              schrieb am zuletzt editiert von
              #2203

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

              Seitdem ioBroker unter dem user iobroker läuft, gibt es immer wieder mal Probleme mit Berechtigungen. Aus diesem Grund setze ich im Startupscript bei jedem Start den Eigentümer des gesamten Ordner "/opt/iobroker" im Conntainer auf den user iobroker. Im Falle des Restores müsste das aber zwischen umkopieren restore passieren.
              Genau da habe ich es jetzt mit eingefügt, sodass beim restore unter dem user iobroker sichergestellt ist, dass dieser alle relevanten Dateien bearbeiten darf.

              Mal ne andere Frage... schonmal über chmod g+s /opt/iobroker nachgedacht? In meinem Falle hätte das das Problem ziemlich sicher erschlagen, aber ich weiß nicht wie Docker das genau mit Volumes handhabt, die über NFS/CIFS bereitgestellt werden.

              @Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

              Ich denke es kommt auch darauf an, wie man den Mount einbindet. Bei einem nfs mit all-squash oder einem CIFS mit fixed user credentials würde das Problem nicht auftreten denke ich, da hier der User vom Transportprotokol festgetackert wird - egal welche Berechtigungen das File eigentlich hatte.

              Jein. nfs und cifs haben damit wenig zu tun. Der mount im Container ist ja kein echter mount. Vielmehr wird dem Container lediglich der Zugriff auf einen bestimmten Ordner im Filesystem des Hosts gewährt. Das merkt man auch, wenn man sich die Berechtigungen des Ordners auf dem Host mal anschaut...
              An der Stelle breche ich jetzt aber ab... Das Thema kann ich hier nicht in ein paar Worten erklären...
              Nur soviel: Wenn dich das Thema interessiert, probiere mal die Umgebungsvariablen zu uid und gid... und schau dir dann die Berechtigungen der Dateien im ioBroker Ordner auf dem Host an....

              Hm ok, mit den Interna von Docker im Bezug auf Volumes habe ich mich noch nicht beschäftigt. Das fällt sonst unter die Kategorie "funktioniert halt" ;)

              Danke trotzdem für deine Erklärungen und den Fix.

              Gruß
              Sascha

              1 Antwort Letzte Antwort
              0
              • andreA andre

                Hallo Dockerianer,
                für alle Testwilligen habe ich eine neue Beta Version bereit gestellt.

                v4.2.4beta (2020-06-23)

                • added graceful shutdown
                • small fix for GID/UID handling
                • adding new ENV "IOB_MULTIHOST" for multihost support
                • small syntax fixes in iobroker_startup.sh

                https://github.com/buanet/docker-iobroker/tree/beta#changelog

                Der Container sollte nun eigentlich beim Beenden nicht mehr den Exit code 137 werfen sondern sauber mit "Exit code 0" beendet werden. Würde mich freuen wenn das wer testen könnte. Bei mir hat es soweit geklappt...

                Was die ENV IOB_MULTIHOST angeht, da habe ich aktuell noch keine Doku zu gemacht. Hier geht es im Grunde darum, dass man einen ioBroker Container als Slave konfigurieren kann der sich dann automatisch zu einem Master verbindet. Damit das funktioniert muss die ENV natürlich beim master auf "master" und beim slave auf "slave" konfiguriert werden. Zusätzlich müssen die ENVs für objectsdb und statesdb entsprechend konfiguriert werden... Wer sich mit Multihost auskennt ist natürlich gerne eingeladen auch dies zu testen. :)

                Bevor jetzt die üblichen Fragen kommen, wann die Beta mit stable wird, hier gleich die Antwort:
                Aktuell habe ich einen Fix eingebaut, der die noch nicht stable Version 3.1.5 des js-controllers installiert. Daher würde ich gerne warten bis die nächste js-controller Version stable wird um dann den Fix entfernen zu können und das Ganze als v5 zu veröffentlichen. Bis dahin empfehle ich bei Problemen den Einsatz/ Test der aktuellen Beta-Version.

                MfG,
                André

                K Offline
                K Offline
                Kraxelhuber
                schrieb am zuletzt editiert von
                #2204

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

                Was die ENV IOB_MULTIHOST angeht, da habe ich aktuell noch keine Doku zu gemacht. Hier geht es im Grunde darum, dass man einen ioBroker Container als Slave konfigurieren kann der sich dann automatisch zu einem Master verbindet. Damit das funktioniert muss die ENV natürlich beim master auf "master" und beim slave auf "slave" konfiguriert werden. Zusätzlich müssen die ENVs für objectsdb und statesdb entsprechend konfiguriert werden... Wer sich mit Multihost auskennt ist natürlich gerne eingeladen auch dies zu testen.

                Ich plane bei mir eine Multihost-Lösung aufzubauen. Derzeit habe ich zwei ioBroker Instanzen jweils im Docker Container laufen. Die Hauptinstanz läuft auf einer Synology Diskstation, der zukünftige Slave im Container auf einem RPi.

                Vielleicht könnte jemand kurz aufzeigen, wie die Container/Instanzen konfiguriert werden müssen?

                Nach meinem ersten Verständnis muss die Environment Variable IOB_MULTIHOST auf master gesetzt werden. Das ist ja auch der Standard, also ist der Container auf der Syno Diskstation schon vorbereitet, oder?

                Der Container auf dem RPi erhält dann logischerweise die Environment Variable IOB_MULTIHOST mit dem Wert slave.

                Aber ich muss doch sicherlich den Multihost Modus aktivieren, Stichwort iobroker multihost enable (auf dem Master) und iobroker multihost connect auf dem Slave System, richtig? Wie löse ich das in der Docker-Umgebung?

                andreA K 2 Antworten Letzte Antwort
                0
                • B Offline
                  B Offline
                  Berchemer
                  schrieb am zuletzt editiert von Berchemer
                  #2205

                  Sorry, aber leider ist dieser Threat sehr lang geworden und die Suche hat mich jetzt nicht weitergebracht. Aber natürlich habe ich eine Frage bezüglich der Installation von ioBroker unter Docker :-)

                  Vielleicht kann mir einer weiterhelfen.

                  Ich möchte mal wieder gerne eine Neuinstallation durchführen, weil bei früheren Installationen möglicherweise wegen mehrerer parallel laufender ioBroker einige Installationspunkte nicht so abgelaufen sein könnten, wie eigentlich gewünscht.

                  Dabei wollte ich auch mal ausprobieren, ob Docker wirklich Erleichterung gerade bei Neu- und Testinstallationen bringt.
                  Ich werde versuchen mich bei der Installation auch an die Vorgabe von buanet halten. Nur werde ich versuchen, das System auf einem x86 unter Ubuntu-Server zu installieren und nicht unter einer nackten debian-Version. Aber auch hier lasse ich mich gerne belehren. GUI brauche ich nicht. Konfiguriere es eh über Putty.

                  Es geht mir nur um die Frage, ob ich redis und influxdb/grafana als eigenständige Dockerinstallationen auf dem System installieren soll, auf dem auch der ioBroker-Master als eigenständige Dockereinrichtung laufen wird oder ob ich in einer Docker-Maschine ioBroker, influxdb, grafana und redis installieren soll.

                  Ihr merkt, Docker ist für mich noch etwas Fremdes. Also seid bitte gnädig mit Euren Antworten ;-)

                  andreA 1 Antwort Letzte Antwort
                  0
                  • K Kraxelhuber

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

                    Was die ENV IOB_MULTIHOST angeht, da habe ich aktuell noch keine Doku zu gemacht. Hier geht es im Grunde darum, dass man einen ioBroker Container als Slave konfigurieren kann der sich dann automatisch zu einem Master verbindet. Damit das funktioniert muss die ENV natürlich beim master auf "master" und beim slave auf "slave" konfiguriert werden. Zusätzlich müssen die ENVs für objectsdb und statesdb entsprechend konfiguriert werden... Wer sich mit Multihost auskennt ist natürlich gerne eingeladen auch dies zu testen.

                    Ich plane bei mir eine Multihost-Lösung aufzubauen. Derzeit habe ich zwei ioBroker Instanzen jweils im Docker Container laufen. Die Hauptinstanz läuft auf einer Synology Diskstation, der zukünftige Slave im Container auf einem RPi.

                    Vielleicht könnte jemand kurz aufzeigen, wie die Container/Instanzen konfiguriert werden müssen?

                    Nach meinem ersten Verständnis muss die Environment Variable IOB_MULTIHOST auf master gesetzt werden. Das ist ja auch der Standard, also ist der Container auf der Syno Diskstation schon vorbereitet, oder?

                    Der Container auf dem RPi erhält dann logischerweise die Environment Variable IOB_MULTIHOST mit dem Wert slave.

                    Aber ich muss doch sicherlich den Multihost Modus aktivieren, Stichwort iobroker multihost enable (auf dem Master) und iobroker multihost connect auf dem Slave System, richtig? Wie löse ich das in der Docker-Umgebung?

                    andreA Offline
                    andreA Offline
                    andre
                    Developer
                    schrieb am zuletzt editiert von andre
                    #2206

                    @Kraxelhuber sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                    Ich plane bei mir eine Multihost-Lösung aufzubauen. Derzeit habe ich zwei ioBroker Instanzen jweils im Docker Container laufen. Die Hauptinstanz läuft auf einer Synology Diskstation, der zukünftige Slave im Container auf einem RPi.

                    Multihost ist zwar im Container noch beta, läuft bei mir aber schon seit einiger Zeit in ähnlicher Konstellation mit zwei slaves ohne Probleme. :)

                    In der Beta-Readme habe ich auch schon etwas mehr geschrieben:

                    Multihost (beta)
                    With the help of the ENV "IOB_MULTIHOST" and the ENVs for objects and states db connections (see ENVs table above) it is now possible to run a container as standalone, multihost master or multihost slave. This is more or less a feature for advanced users. Please make sure you know how ioBroker multihost is working and set the ENVs as with ìobroker setup custom.
                    For general information about iobroker multihost feature please see official ioBroker documentation.

                    Also, nach Möglichkeit zum Testen die aktuelle Beta verwenden. In der ioBroker Doku nachlesen wie Multihost überhaupt funktioniert. Stichwort States und Objects DB.
                    Die Umgebungsvariable IOB_MULTIHOST beim Master setzen. Je nach verwendetem Netzwerk (bei Bridge) müssen auch die Ports 9000 und 9001 geöffnet werden.
                    Für den Slave ebenfalls die Umgebungsvariable IOB_MULTIHOST setzen. Außerdem die Variablen für objects und states DB, denn der Slave greift ja auf die DBs des Masters zu.
                    Slave starten und er sollte in der ioBroker Web UI auftauchen.

                    @Kraxelhuber sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                    Aber ich muss doch sicherlich den Multihost Modus aktivieren, Stichwort iobroker multihost enable (auf dem Master) und iobroker multihost connect auf dem Slave System, richtig?

                    Nein. Das wird nicht benötigt!

                    Quick and Dirty Beispiel aus meinem Setup. Achtung für die States DB nutze ich einen Redis Container!
                    4575bfb5-90fe-41d0-8199-a56a15d1f121-image.png

                    668f1c62-290a-48dc-b334-7f0fd3960b52-image.png

                    ...wird es auch ein Tutorial zu geben. :)

                    MfG,
                    André

                    Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                    1 Antwort Letzte Antwort
                    0
                    • B Berchemer

                      Sorry, aber leider ist dieser Threat sehr lang geworden und die Suche hat mich jetzt nicht weitergebracht. Aber natürlich habe ich eine Frage bezüglich der Installation von ioBroker unter Docker :-)

                      Vielleicht kann mir einer weiterhelfen.

                      Ich möchte mal wieder gerne eine Neuinstallation durchführen, weil bei früheren Installationen möglicherweise wegen mehrerer parallel laufender ioBroker einige Installationspunkte nicht so abgelaufen sein könnten, wie eigentlich gewünscht.

                      Dabei wollte ich auch mal ausprobieren, ob Docker wirklich Erleichterung gerade bei Neu- und Testinstallationen bringt.
                      Ich werde versuchen mich bei der Installation auch an die Vorgabe von buanet halten. Nur werde ich versuchen, das System auf einem x86 unter Ubuntu-Server zu installieren und nicht unter einer nackten debian-Version. Aber auch hier lasse ich mich gerne belehren. GUI brauche ich nicht. Konfiguriere es eh über Putty.

                      Es geht mir nur um die Frage, ob ich redis und influxdb/grafana als eigenständige Dockerinstallationen auf dem System installieren soll, auf dem auch der ioBroker-Master als eigenständige Dockereinrichtung laufen wird oder ob ich in einer Docker-Maschine ioBroker, influxdb, grafana und redis installieren soll.

                      Ihr merkt, Docker ist für mich noch etwas Fremdes. Also seid bitte gnädig mit Euren Antworten ;-)

                      andreA Offline
                      andreA Offline
                      andre
                      Developer
                      schrieb am zuletzt editiert von
                      #2207

                      @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                      Nur werde ich versuchen, das System auf einem x86 unter Ubuntu-Server

                      Mhhh... https://github.com/buanet/docker-iobroker/tree/master#iobroker-for-docker

                      Since v4.0.0 the image is available for the following architectures: amd64, armv7hf, aarch64.

                      Dafür habe ich kein Image parat...

                      @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                      und nicht unter einer nackten debian-Version

                      Verstehe ich nicht, wo hat denn wer was von Nackten gesagt? :) Solange es Linux ist und Docker drauf läuft ist es Wurscht. Allerdings spielt die Architektur eine Rolle (siehe oben)...

                      @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                      Es geht mir nur um die Frage, ob ich redis und influxdb/grafana als eigenständige Dockerinstallationen auf dem System installieren soll, auf dem auch der ioBroker-Master als eigenständige Dockereinrichtung laufen wird oder ob ich in einer Docker-Maschine ioBroker, influxdb, grafana und redis installieren soll.

                      Ahhhhhh! Wenn ich "Docker-Maschine" höre stellen sich mir sofort die Nackenhaare auf! :) NATÜRLICH wird für jede Anwendung ein eigener Docker Container verwendet! Wenn man es ganz genau nehmen würde, müsste sogar jeder ioBroker-Adapter in einem eigenen Container laufen (was praktisch aber nicht geht)... Du brauchst dazu auch nur eine "Dockerinstallation". Docker wird als Dienst auf dem Host installiert. Die Anwendungen startest du als Container unter Verwendung des Docker Dienstes.
                      Also die Antwort auf deine Oder-Frage: JA. Jeder Anwendung sein Container. Verbunden über ein gemeinsames Bridge Netzwerk.
                      Und lies mal zu docker-compose. Damit kannst du mit einem "Config-File" alle Container inkl. Netze mit einmal deployen...

                      Viel Erfolg!

                      MfG,
                      André

                      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                      B 2 Antworten Letzte Antwort
                      1
                      • K Kraxelhuber

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

                        Was die ENV IOB_MULTIHOST angeht, da habe ich aktuell noch keine Doku zu gemacht. Hier geht es im Grunde darum, dass man einen ioBroker Container als Slave konfigurieren kann der sich dann automatisch zu einem Master verbindet. Damit das funktioniert muss die ENV natürlich beim master auf "master" und beim slave auf "slave" konfiguriert werden. Zusätzlich müssen die ENVs für objectsdb und statesdb entsprechend konfiguriert werden... Wer sich mit Multihost auskennt ist natürlich gerne eingeladen auch dies zu testen.

                        Ich plane bei mir eine Multihost-Lösung aufzubauen. Derzeit habe ich zwei ioBroker Instanzen jweils im Docker Container laufen. Die Hauptinstanz läuft auf einer Synology Diskstation, der zukünftige Slave im Container auf einem RPi.

                        Vielleicht könnte jemand kurz aufzeigen, wie die Container/Instanzen konfiguriert werden müssen?

                        Nach meinem ersten Verständnis muss die Environment Variable IOB_MULTIHOST auf master gesetzt werden. Das ist ja auch der Standard, also ist der Container auf der Syno Diskstation schon vorbereitet, oder?

                        Der Container auf dem RPi erhält dann logischerweise die Environment Variable IOB_MULTIHOST mit dem Wert slave.

                        Aber ich muss doch sicherlich den Multihost Modus aktivieren, Stichwort iobroker multihost enable (auf dem Master) und iobroker multihost connect auf dem Slave System, richtig? Wie löse ich das in der Docker-Umgebung?

                        K Offline
                        K Offline
                        Kraxelhuber
                        schrieb am zuletzt editiert von
                        #2208

                        @Kraxelhuber said in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                        Nach meinem ersten Verständnis muss die Environment Variable IOB_MULTIHOST auf master gesetzt werden. Das ist ja auch der Standard, also ist der Container auf der Syno Diskstation schon vorbereitet, oder?
                        Der Container auf dem RPi erhält dann logischerweise die Environment Variable IOB_MULTIHOST mit dem Wert slave.

                        Wie weise ich dem Slave den richtigen Master zu?

                        andreA 1 Antwort Letzte Antwort
                        0
                        • K Kraxelhuber

                          @Kraxelhuber said in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                          Nach meinem ersten Verständnis muss die Environment Variable IOB_MULTIHOST auf master gesetzt werden. Das ist ja auch der Standard, also ist der Container auf der Syno Diskstation schon vorbereitet, oder?
                          Der Container auf dem RPi erhält dann logischerweise die Environment Variable IOB_MULTIHOST mit dem Wert slave.

                          Wie weise ich dem Slave den richtigen Master zu?

                          andreA Offline
                          andreA Offline
                          andre
                          Developer
                          schrieb am zuletzt editiert von
                          #2209

                          @Kraxelhuber

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

                          Für den Slave ebenfalls die Umgebungsvariable IOB_MULTIHOST setzen. Außerdem die Variablen für objects und states DB, denn der Slave greift ja auf die DBs des Masters zu.

                          Indem du dem Slave sagst wo die Master DBs liegen...

                          MfG,
                          André

                          Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                          K 1 Antwort Letzte Antwort
                          0
                          • andreA andre

                            @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                            Nur werde ich versuchen, das System auf einem x86 unter Ubuntu-Server

                            Mhhh... https://github.com/buanet/docker-iobroker/tree/master#iobroker-for-docker

                            Since v4.0.0 the image is available for the following architectures: amd64, armv7hf, aarch64.

                            Dafür habe ich kein Image parat...

                            @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                            und nicht unter einer nackten debian-Version

                            Verstehe ich nicht, wo hat denn wer was von Nackten gesagt? :) Solange es Linux ist und Docker drauf läuft ist es Wurscht. Allerdings spielt die Architektur eine Rolle (siehe oben)...

                            @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                            Es geht mir nur um die Frage, ob ich redis und influxdb/grafana als eigenständige Dockerinstallationen auf dem System installieren soll, auf dem auch der ioBroker-Master als eigenständige Dockereinrichtung laufen wird oder ob ich in einer Docker-Maschine ioBroker, influxdb, grafana und redis installieren soll.

                            Ahhhhhh! Wenn ich "Docker-Maschine" höre stellen sich mir sofort die Nackenhaare auf! :) NATÜRLICH wird für jede Anwendung ein eigener Docker Container verwendet! Wenn man es ganz genau nehmen würde, müsste sogar jeder ioBroker-Adapter in einem eigenen Container laufen (was praktisch aber nicht geht)... Du brauchst dazu auch nur eine "Dockerinstallation". Docker wird als Dienst auf dem Host installiert. Die Anwendungen startest du als Container unter Verwendung des Docker Dienstes.
                            Also die Antwort auf deine Oder-Frage: JA. Jeder Anwendung sein Container. Verbunden über ein gemeinsames Bridge Netzwerk.
                            Und lies mal zu docker-compose. Damit kannst du mit einem "Config-File" alle Container inkl. Netze mit einmal deployen...

                            Viel Erfolg!

                            MfG,
                            André

                            B Offline
                            B Offline
                            Berchemer
                            schrieb am zuletzt editiert von Berchemer
                            #2210

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

                            @Berchemer sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                            Also die Antwort auf deine Oder-Frage: JA. Jeder Anwendung sein Container. Verbunden über ein gemeinsames Bridge Netzwerk.
                            Und lies mal zu docker-compose. Damit kannst du mit einem "Config-File" alle Container inkl. Netze mit einmal deployen...

                            Viel Erfolg!

                            Danke erst einmal :-) :+1:

                            1 Antwort Letzte Antwort
                            0
                            • andreA andre

                              @Kraxelhuber

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

                              Für den Slave ebenfalls die Umgebungsvariable IOB_MULTIHOST setzen. Außerdem die Variablen für objects und states DB, denn der Slave greift ja auf die DBs des Masters zu.

                              Indem du dem Slave sagst wo die Master DBs liegen...

                              MfG,
                              André

                              K Offline
                              K Offline
                              Kraxelhuber
                              schrieb am zuletzt editiert von
                              #2211

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

                              Indem du dem Slave sagst wo die Master DBs liegen...

                              Ja super, das hat bei mir funktioniert.

                              Habe jetzt einen neuen Container jeweils mit der Beta Version auf der DiskStation (master) und dem RPi (slave) eingerichtet. Grundsätzlich würde ich aber lieber mit der Stable Version arbeiten. Was denkst du denn, wann die Multihost Funktionalität in die Stable Version integriert wird?

                              andreA 1 Antwort Letzte Antwort
                              0
                              • K Kraxelhuber

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

                                Indem du dem Slave sagst wo die Master DBs liegen...

                                Ja super, das hat bei mir funktioniert.

                                Habe jetzt einen neuen Container jeweils mit der Beta Version auf der DiskStation (master) und dem RPi (slave) eingerichtet. Grundsätzlich würde ich aber lieber mit der Stable Version arbeiten. Was denkst du denn, wann die Multihost Funktionalität in die Stable Version integriert wird?

                                andreA Offline
                                andreA Offline
                                andre
                                Developer
                                schrieb am zuletzt editiert von andre
                                #2212

                                @Kraxelhuber

                                Ach Leute, habt doch nicht immer so viel Angst vorm bösen Beta...
                                Tatsächlich ist es doch so, dass ich das "beta" hinter die Version schreibe und größtenteils auch den Betatest mache...
                                Und wenn es Läuft dann zähle ich die Versionsnummer hoch und tadaaa, ein neues Stable Release...
                                So wie gestern auch wieder...

                                Build ist durch, Version gerade raus: https://github.com/buanet/docker-iobroker/releases/tag/v5.1.0
                                Image steht im Docker Hub zur Verfügung.

                                MfG,
                                André

                                Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                                K 1 Antwort Letzte Antwort
                                0
                                • B Offline
                                  B Offline
                                  Bongo
                                  schrieb am zuletzt editiert von Bongo
                                  #2213

                                  Hi,

                                  von Zeit zu Zeit muss auch mal eine Synology gebootet werden. Bei mir wird der Container nicht neu gestartet. In der Synology Docker App kann man "Automatischen Neustart aktivieren". Ich denke wenn man mit Portainer arbeitet sollte man da nichts machen. Oder doch?
                                  Im Portainer habe ich nichts gefunden. Der Portainer selbst wird automatisch gestartet. Wie geht das mit dem ioBroker Container?

                                  Gruß
                                  Bongo

                                  Script - Die sprechende Kaffeemaschine – Home Connect
                                  Script - JUDO Wasserenthärtung - Connectivity-Modul API

                                  andreA 1 Antwort Letzte Antwort
                                  0
                                  • B Bongo

                                    Hi,

                                    von Zeit zu Zeit muss auch mal eine Synology gebootet werden. Bei mir wird der Container nicht neu gestartet. In der Synology Docker App kann man "Automatischen Neustart aktivieren". Ich denke wenn man mit Portainer arbeitet sollte man da nichts machen. Oder doch?
                                    Im Portainer habe ich nichts gefunden. Der Portainer selbst wird automatisch gestartet. Wie geht das mit dem ioBroker Container?

                                    andreA Offline
                                    andreA Offline
                                    andre
                                    Developer
                                    schrieb am zuletzt editiert von andre
                                    #2214

                                    @Bongo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                                    In der Synology Docker App kann man "Automatischen Neustart aktivieren".

                                    Diese Einstellung gibt es im Portainer auch. Da geht es um die restart policy des Containers. Also was macht der Container wenn er z.B. aufgrund eines Fehlers beendet wird. In der Regel stellt man das so ein, dass der Container sich dann selbst neu startet.
                                    8514c1e6-172b-4b49-a059-96f257424113-image.png

                                    Eine dedizierte Einstellung über die man sagen könnte, starte diesen und jenen Container beim Start des Docker Dienstes kenne ich nicht...

                                    MfG,
                                    André

                                    Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                                    andreA 1 Antwort Letzte Antwort
                                    0
                                    • andreA andre

                                      @Bongo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:

                                      In der Synology Docker App kann man "Automatischen Neustart aktivieren".

                                      Diese Einstellung gibt es im Portainer auch. Da geht es um die restart policy des Containers. Also was macht der Container wenn er z.B. aufgrund eines Fehlers beendet wird. In der Regel stellt man das so ein, dass der Container sich dann selbst neu startet.
                                      8514c1e6-172b-4b49-a059-96f257424113-image.png

                                      Eine dedizierte Einstellung über die man sagen könnte, starte diesen und jenen Container beim Start des Docker Dienstes kenne ich nicht...

                                      MfG,
                                      André

                                      andreA Offline
                                      andreA Offline
                                      andre
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #2215

                                      Kleines Update

                                      Mit v5.1.0 ist im Docker Hub seit heute Morgen eine neue Stable Version des ioBroker Container Images verfügbar. Details wie immer in der readme.md auf Github

                                      Für alle die ihren ioBroker Docker container automatisch Updaten möchten habe ich jetzt auch ein latest Tag für eine bestimmte Version zur Verfügung gestellt. Aktuell ist das "latest-v5"
                                      Die Verwendung des Tags vermeidet ein automatisches Upgrade auf v6 und bleibt stattdessen immer beim letzten stable innerhalb der v5.

                                      Für mehr Infos und Updates zu meinen Tutorials und Projekten abonniert meinen Telegram Kanal.

                                      MfG,
                                      André

                                      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                                      dslraserD 1 Antwort Letzte Antwort
                                      1
                                      • andreA andre

                                        Kleines Update

                                        Mit v5.1.0 ist im Docker Hub seit heute Morgen eine neue Stable Version des ioBroker Container Images verfügbar. Details wie immer in der readme.md auf Github

                                        Für alle die ihren ioBroker Docker container automatisch Updaten möchten habe ich jetzt auch ein latest Tag für eine bestimmte Version zur Verfügung gestellt. Aktuell ist das "latest-v5"
                                        Die Verwendung des Tags vermeidet ein automatisches Upgrade auf v6 und bleibt stattdessen immer beim letzten stable innerhalb der v5.

                                        Für mehr Infos und Updates zu meinen Tutorials und Projekten abonniert meinen Telegram Kanal.

                                        MfG,
                                        André

                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #2216

                                        @andre
                                        Danke :+1: läuft

                                        Bildschirmfoto 2020-11-06 um 12.43.14.png

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Offline
                                          B Offline
                                          Bongo
                                          schrieb am zuletzt editiert von
                                          #2217

                                          @andre
                                          Danke für den Tipp. Ich habe 3 Container wo ich bei einem zum Testen diese Einstellung von Never auf Always geändert habe. Nach dem Restart waren dann alle 3 Container gestartet.
                                          Hmm, ich hätte schwören konnen, dass es beim letzten Mal nicht so war. Das war allerdings kein Reboot sondern ein unerwarteter shutdown. Vielleicht ist das was anderes.

                                          Ich habe noch ein paar alte Test-Container die nicht gestartet sind. Ich vermute was zuletzt gestartet war wird nach einem Reboot wieder gestartet.

                                          Mal sehen was beim nächsten unerwarteten shutdown passiert, der hoffentlich nicht eintreten wird ;-)

                                          Gruß
                                          Bongo

                                          Script - Die sprechende Kaffeemaschine – Home Connect
                                          Script - JUDO Wasserenthärtung - Connectivity-Modul API

                                          andreA 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          787

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe