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. [Frage] redis - Installation lokal oder extern

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    833

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Frage] redis - Installation lokal oder extern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
containerinstallationlokalredis
10 Beiträge 4 Kommentatoren 697 Aufrufe 4 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.
  • hydrotecH Offline
    hydrotecH Offline
    hydrotec
    schrieb am zuletzt editiert von hydrotec
    #1

    Hallo zusammen,

    ich habe mich heute etwas mit redis beschäftigt.
    Nach langem hin- und herlesen, redis in einem Container installiert.
    Hat alles soweit funktioniert. Erste Test waren erfolgreich.
    Dann habe ich ioBroker umstellen möchten, was auf Anhieb nicht funktionierte.
    Also dachte ich mir, hast wieder Mist gebaut, und redis in dem gleichen Container wie ioBroker installiert.
    Danach hat alles reibungslos funktioniert. States werden in die redis Datenbank geschrieben, und daraus gelesen.
    Da es mir keine Ruhe gelassen hat, warum das in einem externen Container nicht funktioniert,
    noch einmal diese Anleitung von @apollon77 , welche übrigens sehr gut verfasst ist, durchgelesen.
    Lösung gefunden.

    Falls auch andere Hosts auf diesen Redis-Server zugreifen sollen (Slaves oder so), dann muss dies noch erlaubt werden. 
    Dazu muss /etc/redis/redis.conf editiert werden und die Zeile bind 127.0.0.1 zu bind 0.0.0.0 geändert werden 
    und direkt darunter der protected_mode auf no gesetzt werden.
    

    War bei mir auf noch auf yes.

    Jetzt sind bei mir noch ein paar Fragen aufgetaucht, welche ich vorher gerne beantwortet hätte,
    bevor ich wieder auf den externen Container umschwenke.
    Derzeit habe ich nur eine Anwendung (ioBroker), welche redis nutzen würde.

    Welche Vor- oder Nachteile entstehen wenn ich lokal bleibe, bzw. auf externen Container umschwenke?

    Wenn redis extern läuft, und neu gestartet werden muss, wie reagiert ioBroker darauf?

    Ich hoffe ihr könnt mir etwas bei der Entscheidungsfindung helfen.
    Gruß, Karsten

    Ubuntu 22.04 LTS (LXD/LXC)
    admin: v6.3.5
    js-controller: v4.0.24
    node: v18.16.1
    npm: v9.5.1
    repository: stable

    OliverIOO 1 Antwort Letzte Antwort
    0
    • hydrotecH hydrotec

      Hallo zusammen,

      ich habe mich heute etwas mit redis beschäftigt.
      Nach langem hin- und herlesen, redis in einem Container installiert.
      Hat alles soweit funktioniert. Erste Test waren erfolgreich.
      Dann habe ich ioBroker umstellen möchten, was auf Anhieb nicht funktionierte.
      Also dachte ich mir, hast wieder Mist gebaut, und redis in dem gleichen Container wie ioBroker installiert.
      Danach hat alles reibungslos funktioniert. States werden in die redis Datenbank geschrieben, und daraus gelesen.
      Da es mir keine Ruhe gelassen hat, warum das in einem externen Container nicht funktioniert,
      noch einmal diese Anleitung von @apollon77 , welche übrigens sehr gut verfasst ist, durchgelesen.
      Lösung gefunden.

      Falls auch andere Hosts auf diesen Redis-Server zugreifen sollen (Slaves oder so), dann muss dies noch erlaubt werden. 
      Dazu muss /etc/redis/redis.conf editiert werden und die Zeile bind 127.0.0.1 zu bind 0.0.0.0 geändert werden 
      und direkt darunter der protected_mode auf no gesetzt werden.
      

      War bei mir auf noch auf yes.

      Jetzt sind bei mir noch ein paar Fragen aufgetaucht, welche ich vorher gerne beantwortet hätte,
      bevor ich wieder auf den externen Container umschwenke.
      Derzeit habe ich nur eine Anwendung (ioBroker), welche redis nutzen würde.

      Welche Vor- oder Nachteile entstehen wenn ich lokal bleibe, bzw. auf externen Container umschwenke?

      Wenn redis extern läuft, und neu gestartet werden muss, wie reagiert ioBroker darauf?

      Ich hoffe ihr könnt mir etwas bei der Entscheidungsfindung helfen.
      Gruß, Karsten

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #2

      @hydrotec
      Ich habe Iobroker und Redis in 2 separaten Containern installiert.
      Beide Container per Compose in einem service.
      Dadurch kannst du jeweils die Standard Containers von buanet und redis verwenden ind dadurch bei Updates einfacher altualisieren.

      Ich könnte die mein compose File geben.
      Habe allerdings mit macvlan konfiguriert.

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      hydrotecH 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @hydrotec
        Ich habe Iobroker und Redis in 2 separaten Containern installiert.
        Beide Container per Compose in einem service.
        Dadurch kannst du jeweils die Standard Containers von buanet und redis verwenden ind dadurch bei Updates einfacher altualisieren.

        Ich könnte die mein compose File geben.
        Habe allerdings mit macvlan konfiguriert.

        hydrotecH Offline
        hydrotecH Offline
        hydrotec
        schrieb am zuletzt editiert von hydrotec
        #3

        @oliverio sagte in [Frage] redis - Installation lokal oder extern:

        Beide Container per Compose in einem service.

        Da müsste ich mich erst einmal schlau machen, wie das unter LXD funktioniert, wenn überhaupt.

        Ich könnte die mein compose File geben.

        Danke für das Angebot.

        Habe allerdings mit macvlan konfiguriert.

        Sind meine Container auch, finde ich einfacher zu verwalten.

        Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
        Quasi HA.

        Ubuntu 22.04 LTS (LXD/LXC)
        admin: v6.3.5
        js-controller: v4.0.24
        node: v18.16.1
        npm: v9.5.1
        repository: stable

        arteckA 1 Antwort Letzte Antwort
        0
        • hydrotecH hydrotec

          @oliverio sagte in [Frage] redis - Installation lokal oder extern:

          Beide Container per Compose in einem service.

          Da müsste ich mich erst einmal schlau machen, wie das unter LXD funktioniert, wenn überhaupt.

          Ich könnte die mein compose File geben.

          Danke für das Angebot.

          Habe allerdings mit macvlan konfiguriert.

          Sind meine Container auch, finde ich einfacher zu verwalten.

          Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
          Quasi HA.

          arteckA Offline
          arteckA Offline
          arteck
          Developer Most Active
          schrieb am zuletzt editiert von
          #4

          @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

          Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
          Quasi HA.

          das ist quatsch..

          und ihr redet meine ich aneinander vorbei der eine über docker der andere LCX
          korrigiert mich webb ich falsch lese

          der vorteil ist man verteil die ressourcen auf 2 Maschienen (container oder lxc ist egal)
          der update ist einfcher
          und das backup von iobroker ist kleiner..

          eine HA bekommst du damit nicht hin..

          zigbee hab ich, zwave auch, nuc's genauso und HA auch

          hydrotecH 1 Antwort Letzte Antwort
          0
          • arteckA arteck

            @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

            Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
            Quasi HA.

            das ist quatsch..

            und ihr redet meine ich aneinander vorbei der eine über docker der andere LCX
            korrigiert mich webb ich falsch lese

            der vorteil ist man verteil die ressourcen auf 2 Maschienen (container oder lxc ist egal)
            der update ist einfcher
            und das backup von iobroker ist kleiner..

            eine HA bekommst du damit nicht hin..

            hydrotecH Offline
            hydrotecH Offline
            hydrotec
            schrieb am zuletzt editiert von
            #5

            @arteck

            Kann schon sein. ;-)

            Doch stellt sich mir immer noch die Frage, wie reagiert ioBroker, wenn der externe redis Server nicht verfügbar ist.
            Wenn ioBroker und redis auf dem gleichen Server liegen, dann sind halt beide Anwendungen down,
            und nichts weiteres passiert, oder.
            Und, bringt es überhaupt Vorteile, redis in einem extra Container laufen zu lassen?
            Bin noch recht unerfahren, was das Zusammenspiel ioBroker und redis angeht.

            Ubuntu 22.04 LTS (LXD/LXC)
            admin: v6.3.5
            js-controller: v4.0.24
            node: v18.16.1
            npm: v9.5.1
            repository: stable

            1 Antwort Letzte Antwort
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #6

              Aaaaaaaaaalso :-))

              Mit Redis (und jetzt nehmen wir mal an das States und Objects im Redis sind) wird die Redis DB quasi zum "Master" und alle Hosts mit einem ioBroker js-controller sind alle gleichberechtigt. ABER damit: Wenn die DB weg ist geht nichts mehr weil halt die DB weg ist. Die DB ist also dein "Single Point of Failure".

              Wenn man jetzt den Redis auf dem gleichen Host hat wie einen der iobroker Prozesse (oder "lokal" wie du es nennst) dann hat man quasi das gleiche Szenario wie bisher mit der file bzw jsonl DB ... wenn der Host ausfällt geht nichts mehr.

              Wenn der Redis (egal ob lokal oder extern) neu gestartet wird dann verkraftet der iobroker das für im Standard maximal ca. 90s. Im Log wirst Du sehen das die DBs in dem Zeitraum versuchen den Redis neu zu verbinden. Fehlende Schreibaktionen werden dann gepuffert und dann geschrieben wenn die Verbindung wieder da ist. Falls es länger dauert werden alle adapter beendet und der js-controller startet sich neu um immer wieder neu zu verbinden. Wenn Redis dann wiederkommt wird alles wieder hochgefahren. Das könnte man durch settings ändern und länger machen, aber ich habe diesen Weg gewählt weil nach ca. 90s der lokale Stand immer weiter auseinander läuft und es danach sowieso komisch wird was Skripte o.ä. angeht weil Sie dann ggf zu strange reagieren.

              Wer mindestens 3 Hosts hat kann den Redis als Cluster mit Sentinel aufsetzen, dann ist der Ausfall eines Nodes egal weil dasnn ein anderer Redis als neuer Master übernimmt und die Adapter alle umschwenken.

              Und, bringt es überhaupt Vorteile, redis in einem extra Container laufen zu lassen?

              Am Ende ist der Vorteil das jeder Container "zielgerichteter arbeitet und minimaler" (one container, one function) ... aber ja das Risiko bei Ausfall ist etwas höher

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              hydrotecH 1 Antwort Letzte Antwort
              1
              • apollon77A apollon77

                Aaaaaaaaaalso :-))

                Mit Redis (und jetzt nehmen wir mal an das States und Objects im Redis sind) wird die Redis DB quasi zum "Master" und alle Hosts mit einem ioBroker js-controller sind alle gleichberechtigt. ABER damit: Wenn die DB weg ist geht nichts mehr weil halt die DB weg ist. Die DB ist also dein "Single Point of Failure".

                Wenn man jetzt den Redis auf dem gleichen Host hat wie einen der iobroker Prozesse (oder "lokal" wie du es nennst) dann hat man quasi das gleiche Szenario wie bisher mit der file bzw jsonl DB ... wenn der Host ausfällt geht nichts mehr.

                Wenn der Redis (egal ob lokal oder extern) neu gestartet wird dann verkraftet der iobroker das für im Standard maximal ca. 90s. Im Log wirst Du sehen das die DBs in dem Zeitraum versuchen den Redis neu zu verbinden. Fehlende Schreibaktionen werden dann gepuffert und dann geschrieben wenn die Verbindung wieder da ist. Falls es länger dauert werden alle adapter beendet und der js-controller startet sich neu um immer wieder neu zu verbinden. Wenn Redis dann wiederkommt wird alles wieder hochgefahren. Das könnte man durch settings ändern und länger machen, aber ich habe diesen Weg gewählt weil nach ca. 90s der lokale Stand immer weiter auseinander läuft und es danach sowieso komisch wird was Skripte o.ä. angeht weil Sie dann ggf zu strange reagieren.

                Wer mindestens 3 Hosts hat kann den Redis als Cluster mit Sentinel aufsetzen, dann ist der Ausfall eines Nodes egal weil dasnn ein anderer Redis als neuer Master übernimmt und die Adapter alle umschwenken.

                Und, bringt es überhaupt Vorteile, redis in einem extra Container laufen zu lassen?

                Am Ende ist der Vorteil das jeder Container "zielgerichteter arbeitet und minimaler" (one container, one function) ... aber ja das Risiko bei Ausfall ist etwas höher

                hydrotecH Offline
                hydrotecH Offline
                hydrotec
                schrieb am zuletzt editiert von hydrotec
                #7

                @apollon77

                Dankeschön für die ausführliche Antwort.
                Meine Fragen sind beantwortet, und ich verstehe die Konstellation besser.
                Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                wenn die Objekte mit in diese Datenbank verschoben werden.

                Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,
                und wie du es beschrieben hast, auch nicht notwendig, bei kurzfristigem Ausfall von redis.

                Danke nochmal :+1:

                Ubuntu 22.04 LTS (LXD/LXC)
                admin: v6.3.5
                js-controller: v4.0.24
                node: v18.16.1
                npm: v9.5.1
                repository: stable

                apollon77A 2 Antworten Letzte Antwort
                0
                • hydrotecH hydrotec

                  @apollon77

                  Dankeschön für die ausführliche Antwort.
                  Meine Fragen sind beantwortet, und ich verstehe die Konstellation besser.
                  Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                  wenn die Objekte mit in diese Datenbank verschoben werden.

                  Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,
                  und wie du es beschrieben hast, auch nicht notwendig, bei kurzfristigem Ausfall von redis.

                  Danke nochmal :+1:

                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #8

                  @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

                  Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                  wenn die Objekte mit in diese Datenbank verschoben werden.

                  Ne, das oben genannte gilt egal für was mit Redis.

                  Wenn man nur States in Redis hat und Objects nicht macht es in jedem fall (in meinen Augen) KEINEN Sinn Redis extern zu betreiben, weil man dann zwei Single-point-of-Failures hat! Adapter und alles brauchen beide Datenbanken. Wenn Objects also file/jsonl von einem js-controller bereitgestellt wird und States im Redis dann uss beies da sein damit es tut.

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  hydrotecH 1 Antwort Letzte Antwort
                  0
                  • hydrotecH hydrotec

                    @apollon77

                    Dankeschön für die ausführliche Antwort.
                    Meine Fragen sind beantwortet, und ich verstehe die Konstellation besser.
                    Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                    wenn die Objekte mit in diese Datenbank verschoben werden.

                    Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,
                    und wie du es beschrieben hast, auch nicht notwendig, bei kurzfristigem Ausfall von redis.

                    Danke nochmal :+1:

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #9

                    @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

                    Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,

                    Wie man es sieht :-)) Wenn man 3 Hosts hat ... why not :-)

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

                      Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                      wenn die Objekte mit in diese Datenbank verschoben werden.

                      Ne, das oben genannte gilt egal für was mit Redis.

                      Wenn man nur States in Redis hat und Objects nicht macht es in jedem fall (in meinen Augen) KEINEN Sinn Redis extern zu betreiben, weil man dann zwei Single-point-of-Failures hat! Adapter und alles brauchen beide Datenbanken. Wenn Objects also file/jsonl von einem js-controller bereitgestellt wird und States im Redis dann uss beies da sein damit es tut.

                      hydrotecH Offline
                      hydrotecH Offline
                      hydrotec
                      schrieb am zuletzt editiert von
                      #10

                      @apollon77

                      Wieder was gelernt :-)

                      @apollon77 sagte in [Frage] redis - Installation lokal oder extern:

                      Wie man es sieht :-)) Wenn man 3 Hosts hat ... why not

                      Das ist dann etwas anderes, doch bis dahin bin ich vermutlich schon in Rente ;-)

                      Ubuntu 22.04 LTS (LXD/LXC)
                      admin: v6.3.5
                      js-controller: v4.0.24
                      node: v18.16.1
                      npm: v9.5.1
                      repository: stable

                      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

                      592

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      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