NEWS
[Gelöst] Im Docker von jsonl auf Redis umstellen
-
Hallo zusammen,
ich erhalte folgende Meldung.
Ich habe den buanet-iobroker in Docker auf Synology NAS installiert. Wie kann Redis am einfachsten installieren und einrichten, damit mein ioBroker wieder performanter wird? -
@mcbirne
Ich kann es als ein Docker Container heruntergeladen. Ist bei den Einstellungen etwas zu beachten? (keine bridge oder spezielle Ports freigeben oder ein Verzeichnis einrichten)
-
bei dieser konstellation empfiehlt es sich mit docker-compose bzw unter portainer mit stacks zu arbeiten.
dadurch kann man mehrere dockercontainer erzeugen, die zusammen als ein service funktioniert.hier ist meine konfiguration, allerdings mit macvlan. du müsstest die macvlan anteile dann mit deinem bridge netz ersetzen.
zusätzlich wird ein internes netz erzeugt (heißt ebenfalls iobrokerprod5) unter dem iobroker dann direkt redis erreichen kann.
als hostname wird der jeweilige servicenamen verwendet. d.h. aus iobroker ist redis dann unter dem hostnamen redis5 erreichbar.
mittlerweile gibt es auch als environment variablen für den iobroker container, in dem man direkt diese werte dann direkt definieren kann, dann spart man sich die manuelle konfiguration IM container.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:
mehr beschreibung auch hier
https://smarthome.buanet.de/2020/12/redis-container-unter-portainer-bereitstellen/
https://smarthome.buanet.de/2020/12/iobroker-docker-container-mit-redis-db-verbinden/meiner meinung nach sind die genauen ip-konfigurationen in der 2.beschreibung nicht notwendig, da docker da viel automatisch macht bzw. man mit dem servicenamen das referenzieren kann. dann ist man von von exakten ip adressen unabhängig und lässt docker seinen job machen.
aber es kann auch was synology spezifisches sein -
@oliverio
Danke für die Rückmeldung. Aber ich bräuchte leider etwas mehr Unterstützung. Auf einem Synology NAS ist Docker (heißt jetzt Container Manager) installiert. Ich habe kein Docker compose Paket gefunden, was ich auf dem Synology NAS installieren kann. -
@mcbirne dann installiere dir portainer, so wie es bei buanet beschrieben ist.
https://frank-hilft.de/knowledge-base/portainer-in-10-min-installieren/da ist docker-compose enthalten, nennt sich nur stacks
auch auf synology scheint es das zu geben
https://kb.synology.com/de-de/DSM/help/ContainerManager/docker_project?version=7ich selbst habe keine synology
-
@oliverio
Danke,
ich erhalte folgende Fehlermeldung bei der Installation
docker: Error response from daemon: driver failed programming external connectivity on endpoint portainer (e86534670ab9c6ef082e228ef819a00fbc155a9486c93db378e8e93146835f07): Error starting userland proxy: listen tcp4 0.0.0.0:9000: bind: address already in use.
kann ich den Port einfach ändern oder ist die 9000 ein muss? Wobei ich nicht weiß, wofür der Port 9000 aktuell genutzt wird -
@mcbirne sagte in Redis Umstellung:
Wobei ich nicht weiß, wofür der Port 9000 aktuell genutzt wird
Für die bisherige Datenbank jsonl.
-
@thomas-braun OK, also sollte ich den ioBroker stoppen?
-
Bei solchen Umbauarbeiten muss der iobroker natürlich gestoppt werden.
-
@thomas-braun
OK, das war es schon. Der Portainer läuft. Wie bekomme ich nun den ioBroker nun redis damit verbunden? -
Ich glaube da muss per custom installation die neue Datenbank herangezogen werden. Weiß aber nicht genau wie das geht, müsste ich auch nachlesen.
-
Ich habe den Portainer auf 9100 gemappt
Das kann man in den Container Einstellungen anpassen -
@oliverio
Danke.
Diese Links haben mir viel geholfen.
https://smarthome.buanet.de/2020/12/redis-container-unter-portainer-bereitstellen/
https://smarthome.buanet.de/2020/12/iobroker-docker-container-mit-redis-db-verbinden/
Aber jetzt sieht es leider so aus:
der ioBroker startet nicht -
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.
-
@mcbirne
da gestartet ist er schon.
es kann auch durchaus einige minuten dauern, bis iobroker unter ip/port erreichbar ist
alternativ auch mal in die log ansicht des containers schauen.hast du nun das alles unter portainer oder direkt unter der synology oberfläche konfiguriert? du solltest dich in zukunft für eines entscheiden
-
@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.
-
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 OK, hast du da auch eine schöne Anleitung? Vermutlich muss ich ja einiges anders machen als normalerweise, oder?
-
@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.