NEWS
[Gelöst] Im Docker von jsonl auf Redis umstellen
-
Das steht im Log
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- System Information ----- ----- arch: x86_64 ----- ----- hostname: buanet-iobroker-1 ----- ----- ----- ----- Version Information ----- ----- image: v9.0.1 ----- ----- build: 2023-12-13T23:44:33+00:00 ----- ----- node: v18.19.0 ----- ----- npm: 10.2.3 ----- ----- ----- ----- Environment Variables ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- Step 1 of 5: Preparing container ----- -------------------------------------------------------------------------------- Updating Linux packages on first run... Done. Registering maintenance script as command... Done. -------------------------------------------------------------------------------- ----- Step 2 of 5: Detecting ioBroker installation ----- -------------------------------------------------------------------------------- Existing installation of ioBroker detected in "/opt/iobroker". -------------------------------------------------------------------------------- ----- Step 3 of 5: Checking ioBroker installation ----- -------------------------------------------------------------------------------- (Re)setting permissions (This might take a while! Please be patient!)... Done. Checking Database connection... Failed. Please check your configuration and try again. For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs). This Script will exit now. -------------------------------------------------------------------------------- ------------------------- 2023-12-15 11:52:54 ------------------------- -------------------------------------------------------------------------------- ----- ----- ----- ██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ███████╗ ██████╗ ----- ----- ██║ ██╔═══██╗ ██╔══██╗ ██╔══██╗ ██╔═══██╗ ██║ ██╔╝ ██╔════╝ ██╔══██╗ ----- ----- ██║ ██║ ██║ ██████╔╝ ██████╔╝ ██║ ██║ █████╔╝ █████╗ ██████╔╝ ----- ----- ██║ ██║ ██║ ██╔══██╗ ██╔══██╗ ██║ ██║ ██╔═██╗ ██╔══╝ ██╔══██╗ ----- ----- ██║ ╚██████╔╝ ██████╔╝ ██║ ██║ ╚██████╔╝ ██║ ██╗ ███████╗ ██║ ██║ ----- ----- ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ ----- ----- ----- ----- Welcome to your ioBroker Docker container! ----- ----- Startupscript is now running! ----- ----- Please be patient! ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- System Information ----- ----- arch: x86_64 ----- ----- hostname: buanet-iobroker-1 ----- ----- ----- ----- Version Information ----- ----- image: v9.0.1 ----- ----- build: 2023-12-13T23:44:33+00:00 ----- ----- node: v18.19.0 ----- ----- npm: 10.2.3 ----- ----- ----- ----- Environment Variables ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- Step 1 of 5: Preparing container ----- -------------------------------------------------------------------------------- Updating Linux packages on first run... Done. Registering maintenance script as command... Done. -------------------------------------------------------------------------------- ----- Step 2 of 5: Detecting ioBroker installation ----- -------------------------------------------------------------------------------- Existing installation of ioBroker detected in "/opt/iobroker". -------------------------------------------------------------------------------- ----- Step 3 of 5: Checking ioBroker installation ----- -------------------------------------------------------------------------------- (Re)setting permissions (This might take a while! Please be patient!)... Done. -
ok das sieht nach boot schleife aus
stelle erst mal kein backup dem container zu verfügung. erstmal so als ob du komplett neu isntallierst.
wenn der iobroker dann läuft, dann das backup über backit up einspielen -
@oliverio
ich habe es alles im Portainer. Der zeigt aber die gleichen Caontainer wie Dacker im Synology an.Er kann keine Datenbankverbindung herstellen und startet ständig neu.
@mcbirne sagte in Redis Umstellung:
Er kann keine Datenbankverbindung herstellen und startet ständig neu.
Kann es sein, dass du ioBroker im Hostmodus betreibst, nun Portainer installiert hast, welchen mit seinem Port 9000 den ioBroker blockiert?
Wie @OliverIO oben empfohlen hat, Portainer auf einen anderen Port als 9000 mappen, dann sollte ioBroker auch wieder hoch kommen.
-
@mcbirne sagte in Redis Umstellung:
Er kann keine Datenbankverbindung herstellen und startet ständig neu.
Kann es sein, dass du ioBroker im Hostmodus betreibst, nun Portainer installiert hast, welchen mit seinem Port 9000 den ioBroker blockiert?
Wie @OliverIO oben empfohlen hat, Portainer auf einen anderen Port als 9000 mappen, dann sollte ioBroker auch wieder hoch kommen.
@marc-berg
Das ist eine Idee. ich habe den Port jetzt auf 9100 gestellt. Leider kann ich nun den Portainer nicht mehr erreichen. -
@marc-berg
Das ist eine Idee. ich habe den Port jetzt auf 9100 gestellt. Leider kann ich nun den Portainer nicht mehr erreichen.@mcbirne sagte in Redis Umstellung:
Das ist eine Idee.
Ist das eine "Idee", oder ist es so, dass ioBroker im Hostmodus läuft?
ich habe den Port jetzt auf 9100 gestellt.
zeigen
-
@mcbirne sagte in Redis Umstellung:
Das ist eine Idee.
Ist das eine "Idee", oder ist es so, dass ioBroker im Hostmodus läuft?
ich habe den Port jetzt auf 9100 gestellt.
zeigen
-
@mcbirne sagte in Redis Umstellung:
Das ist eine Idee.
Ist das eine "Idee", oder ist es so, dass ioBroker im Hostmodus läuft?
ich habe den Port jetzt auf 9100 gestellt.
zeigen
@marc-berg
Ja, bei ioBroker ist das Netzwerk auf Host gestellt -
@mcbirne ich kenne die Synology nicht. Laut Internet wird das Portmapping so eingestellt:

Edit: Bild getauscht
@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.

Weiß jemand, wo ich das erlauben kann?
-
@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.

Weiß jemand, wo ich das erlauben kann?
-
@mcbirne
außerdem werden scheinbar die Objekte nicht mehr gefunden...

Lösung: es waren fast alle Werte null. Ich musste sie erst mit füllen, damit sie wieder verwendet werden konnten.
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 :-(
-
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 :-(
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?
-
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?
@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
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. -
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.
@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. -
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?
@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:

Ich habe die untersten drei Umgebungsvariablen ergänzt.

Hat jemand eine Idee, wo das Problem liegt?
-
@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:

Ich habe die untersten drei Umgebungsvariablen ergänzt.

Hat jemand eine Idee, wo das Problem liegt?
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
-
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.
-
-
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
-
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.
@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.

Wenn ich danstelle von redis die IP Adresse meiner Synology eingebe erscheint folgende Meldung:

Mit der IP Adresse der Redis Installation sieht es nicht besser aus :-( -
-
@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.

Wenn ich danstelle von redis die IP Adresse meiner Synology eingebe erscheint folgende Meldung:

Mit der IP Adresse der Redis Installation sieht es nicht besser aus :-( -
@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:

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 portsversion: '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:
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
