Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Gelöst] Im Docker von jsonl auf Redis umstellen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Im Docker von jsonl auf Redis umstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcBirne
      mcBirne @Marc Berg last edited by

      @marc-berg
      Ja, bei ioBroker ist das Netzwerk auf Host gestellt

      1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @mcBirne last edited by Marc Berg

        @mcbirne ich kenne die Synology nicht. Laut Internet wird das Portmapping so eingestellt:

        0edefa4a-82de-4b69-89f3-196720e48144-image.png

        Edit: Bild getauscht

        mcBirne 1 Reply Last reply Reply Quote 0
        • mcBirne
          mcBirne @Marc Berg last edited by

          @marc-berg
          ich habe den Port bei 9000 gelassen, da der ioBoroker auch bei ausgeschaltetem Portainer nicht mehr gestartet ist. Dafür habe ich den ioBroker neu aufgesetzt und nicht im Hostmodus sondern als bridge. Dort habe ich die verwendete iob_private bridge ausgewählt.

          Nun habe ich das Problem, das einige Adapter keine Verbindung mehr herstellen dürfen. z.B. der SQL Adapter.
          751a4997-11c3-4cf5-8c03-65772ab55f87-image.png

          Weiß jemand, wo ich das erlauben kann?

          mcBirne 1 Reply Last reply Reply Quote 0
          • mcBirne
            mcBirne @mcBirne last edited by mcBirne

            @mcbirne
            außerdem werden scheinbar die Objekte nicht mehr gefunden...
            838944ff-14cc-47bd-aca6-dfe3d1f19b3a-image.png

            Lösung: es waren fast alle Werte null. Ich musste sie erst mit füllen, damit sie wieder verwendet werden konnten.

            mcBirne 1 Reply Last reply Reply Quote 0
            • mcBirne
              mcBirne @mcBirne last edited by

              So, einige Adapter können sie nicht verbinden, da sich der ioBroker nicht mehr im host Modus befindet. noch weiß ich nicht, wie ich das lösen kann. aber die Meldung mit dem empfohlenen Umzug auf redis im Infobereich erhalte ich auch noch. Ich dachte, das ist jetzt geschafft 😞

              Marc Berg 1 Reply Last reply Reply Quote 0
              • Marc Berg
                Marc Berg Most Active @mcBirne last edited by

                @mcbirne

                So eine Umstellung von Host-auf Bridge Netzwerk ist jetzt schon ein ziemlich einschneidende Veränderung mit möglichen Konsequenzen. Lt. Eingangspost wolltest du nur auf Redis umstellen (ob notwendig oder nicht, sei mal dahingestellt). Dazu hatte dir @OliverIO eigentlich alle Informationen gegeben, eine Empfehlung zur Umstellung auf Bridge konnte ich daraus nicht ablesen. Was ist das Ziel?

                mcBirne 2 Replies Last reply Reply Quote 0
                • mcBirne
                  mcBirne @Marc Berg last edited by

                  @marc-berg
                  Ziel ist die Umstellung auf redis abzuschließen. Ich dachte, das eine Umstellung auf eine Bridge dafür nötig ist. Wenn es nicht nötig ist, kann ich es ja wieder zurückstellen.
                  Wie kann ich prüfen, ob die redis Umstellung funktioniert hat? Die Empfehlung zur Umstellung wird ja noch angezeigt.

                  Marc Berg 1 Reply Last reply Reply Quote 0
                  • Marc Berg
                    Marc Berg Most Active @mcBirne last edited by

                    @mcbirne

                    Wenn du ursprünglich ioBroker im Host-Netzwerk/Modus hast laufen lassen, dann muss es doch dafür einen Grund gegeben haben, oder? Irgendwelche Nicht-Erreichbarkeiten von Adaptern, oder was auch immer.

                    mcBirne 1 Reply Last reply Reply Quote 0
                    • mcBirne
                      mcBirne @Marc Berg last edited by mcBirne

                      @marc-berg
                      Nein, es hatte keinen speziellen Grund. Ich habe irgendwo gelesen, dass es die einfachste Möglichkeit ist.
                      Es kann aber sein, dass einige Adapter vielleicht nicht kompatibel sind. Ich stelle es jetzt erstmal wieder zurück, da es aktuell nicht funktioniert.

                      1 Reply Last reply Reply Quote 0
                      • mcBirne
                        mcBirne @Marc Berg last edited by

                        @marc-berg
                        Ich habe inzwischen den Portainer laufen und versuche meinen IOBroker, der jetzt wieder im Host Modus läuft einzubinden. leider erhalte ich folgende Meldung:
                        5c94a6aa-7cf8-45f0-91f5-8ce210dab24b-image.png

                        Ich habe die untersten drei Umgebungsvariablen ergänzt.
                        85b5c6ea-bcd8-4c20-9557-f87b33bfde87-image.png

                        Hat jemand eine Idee, wo das Problem liegt?

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @mcBirne last edited by

                          @mcbirne

                          nur teilweise eine idee.
                          ich vermute, du hast separate container eingerichtet.
                          daher vergibt docker jedem container ein eigenes subnet. daher können die container nicht direkt miteinander kommunizieren.
                          die container erhalten zwar jeweils einen hostnamen, der gilt aber nur innerhalb des subnets. mit der eingabe redis versucht iobroker nun mit dem hostnamen redis (was ja in eine ip-adresse umgesetzt wird) zu erreichen. da redis aber in einem anderen subnet liegt ist das nie zu erreichen.

                          du hast nun 2 möglichkeiten

                          1. die bevorzugte möglichkeit
                            du definierst iobroker und redis im rahmen eines docker-compose (bei portainer nennt sich das stacks, bei synology glaube ich projekt
                            https://kb.synology.com/de-de/DSM/help/ContainerManager/docker_project?version=7
                            verknüpfst die durch entsprechende netze und dann kannst du da auch redis bzw den servicenamen dort eintragen
                            schau dir diese beiden tutorioals an, die hier verlinkt sind
                            https://smarthome.buanet.de/docker/container-images/redis/

                          wenn der redis port auf deinem hostsystem gemappt ist, dann trage bei redis host anstatt redis die ip deines hostsystems ein.

                          mcBirne 1 Reply Last reply Reply Quote 1
                          • mcBirne
                            mcBirne @OliverIO last edited by

                            @oliverio
                            Möglichkeit 1 habe ich mit portainer versucht. Allerdings muss dafür auch der ioBorker in einem bridge Netzwerk laufen, was dafür sorgt, dass einige Adapter nicht funktionieren.
                            Nun läuft der ioBroker wieder in einer Host Installation und redis in einer bridge Installation. Vermutlich ist daher der Name redis nicht bekannt.
                            Also Versuche ich Option 2:
                            Der Port ist im Conatainer gemappt.
                            ff13e67b-be16-4f57-a288-01f369fc21d5-image.png
                            Wenn ich danstelle von redis die IP Adresse meiner Synology eingebe erscheint folgende Meldung:
                            b0760e28-12a4-4c18-bc7c-2b6b18ed809d-image.png
                            Mit der IP Adresse der Redis Installation sieht es nicht besser aus 😞

                            mcBirne 1 Reply Last reply Reply Quote 0
                            • mcBirne
                              mcBirne @mcBirne last edited by mcBirne

                              @mcbirne
                              Auch wenn ich redis als hoast installiere klappt es nicht. Muss ich auf redis erst etwas einstellen? Aktuell installiere ich es nur und starte es.
                              dort steht dann:
                              18bb8121-7023-41eb-9f64-47f447b48491-image.png

                              OliverIO Glasfaser 2 Replies Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @mcBirne last edited by

                                @mcbirne

                                ich habe mal im folgenden meine compose/stacks/projekt konfiguration gepostet.
                                im originalen habe ich ein macvlan laufen. dadurch hat der iobroker eine eigene ip.
                                das wäre evtl auch noch eine lösung, da macvlan die gleichen vorteile wie host hat, allerdings den verkehr vom host wegkapselt. broadcast/etc. läuft und man bekommt keine überlappende ports

                                version: '3'
                                
                                services:
                                  iobrokerprod5:
                                    container_name: iobrokerprod5
                                    image: buanet/iobroker
                                    hostname: iobrokerprod5
                                    restart: always
                                    ports:
                                      - "8081:8081"
                                    volumes:
                                      - /home/iobroker/docker/volume/iobroker/prod5/iobroker:/opt/iobroker
                                    networks:
                                      dockerMACVLAN:
                                        ipv4_address: 192.168.1.85
                                      iobrokerprod5:
                                  redis5:
                                    image: "redis:alpine"
                                    volumes:
                                      - /home/iobroker/docker/volume/iobroker/prod5/redis:/data
                                    networks:
                                      iobrokerprod5:
                                networks:
                                  dockerMACVLAN:
                                    external: true
                                  iobrokerprod5:
                                  
                                

                                ich habe mal für deine konstellation versucht das blind anzupassen. also getestet habe ich es nicht
                                interessant für dich ist der abschnitt networks in beiden containerdefinitionen.
                                das erzeugt in beiden containern ein weiteres netzwerk. das ist so, wie wenn die eine weitere netzwerkkarte eingesteckt haben. iobroker ist über den hostmode über die host ip adresse erreichbar. iobroker und redis ist über das 2.netzwerk erreichbar, das aber genau diese beiden container verbindet. daher ist redis dann auch über den servicenamen als host erreichbar (hier redis5)
                                beim iobroker kannst du dann noch die environment variablen ergänzen, so das der iobroker richtig auf redis konfiguriert wird.
                                ich mach das immer direkt auf der containerconsole, aber besser wäre das natürlich hier .

                                version: '3'
                                
                                services:
                                  iobrokerprod5:
                                    container_name: iobrokerprod5
                                    image: buanet/iobroker
                                    hostname: iobrokerprod5
                                    network_mode: "host"
                                    restart: always
                                    ports:
                                      - "8081:8081"
                                    volumes:
                                      - /home/iobroker/docker/volume/iobroker/prod5/iobroker:/opt/iobroker
                                    networks:
                                      iobrokerprod5:
                                  redis5:
                                    image: "redis:alpine"
                                    volumes:
                                      - /home/iobroker/docker/volume/iobroker/prod5/redis:/data
                                    networks:
                                      iobrokerprod5:
                                networks:
                                  iobrokerprod5:
                                
                                mcBirne 1 Reply Last reply Reply Quote 0
                                • mcBirne
                                  mcBirne @OliverIO last edited by

                                  @oliverio
                                  sorry, das ist mir etwas zu viel. Ich weiß nicht, wie ich ein MACVLAN erstellen soll. Ich habe zwar eine Anleitung gefunden, aber da fehlen mir einige Details. Das übersteigt meine Fähigkeiten zu stark.

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @mcBirne last edited by

                                    @mcbirne

                                    dann lies mal den Post nochmal ganz genau. Insbesondere den 2.Teil und nicht schon nach dem ersten Satz aufhören.

                                    1 Reply Last reply Reply Quote 0
                                    • Glasfaser
                                      Glasfaser @mcBirne last edited by Glasfaser

                                      @mcbirne sagte in Redis Umstellung:

                                      Muss ich auf redis erst etwas einstellen?

                                      Ja ...

                                      denn du hast eine vorhandene ioBroker Installation ,die als Datenbank jsonl schon enthält und das muß erst als redis migriert werden.

                                      also Dockerimage mit dem Redis starten , dann

                                      iobroker starten , dann in der Konsole ( Putty )

                                      pkill -u iobroker
                                      iobroker setup custom
                                      

                                      dann auf redis alles umstellen .

                                      dann erfolgt ein Backup und dann wird auf dem Server Redis migriert .
                                      ( im Mount Ordner / Image Redis liegt dann eine dump.rdb Datei )

                                      Dann den ioBroker Container neu starten.

                                      mehr brauchst du nicht machen .. auch kein ENV Eintrag wie z.b IOB_OBJECTSDB_TYPE im ioBroker Docker.

                                      wie du oben angegeben hast !

                                      mcBirne 1 Reply Last reply Reply Quote 0
                                      • mcBirne
                                        mcBirne @Glasfaser last edited by

                                        @glasfaser
                                        OK,

                                        also mache ich folgenden:

                                        • Nutzen der aktuellen ioBroker Instalation (als Host installiert)
                                        • redis als host installieren
                                        • dann in der ioBroker Console folgendes eingeben
                                        pkill -u iobroker
                                        iobroker setup custom
                                        
                                        
                                        mcBirne 1 Reply Last reply Reply Quote 0
                                        • mcBirne
                                          mcBirne @mcBirne last edited by

                                          @mcbirne
                                          Ich habe alles durchgeführt, die Migration ist auch erfolgreich gewesen, allerdings steht im Info Bereich immer noch diese Meldung:
                                          d4dfcc7b-2e2f-4eb8-8752-11caae6830af-image.png
                                          Woher weiß ich, dass nun redis genutzt wird?

                                          Marc Berg 1 Reply Last reply Reply Quote 0
                                          • Marc Berg
                                            Marc Berg Most Active @mcBirne last edited by

                                            @mcbirne sagte in Redis Umstellung:

                                            Woher weiß ich, dass nun redis genutzt wird?

                                            iob status
                                            

                                            angucken.

                                            mcBirne 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

                                            979
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            47
                                            2785
                                            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