NEWS
Test Adapter ioBroker.backitup v3.0.x
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
Davor konnte ich aber offenbar über die alten 1.8 Verbindungsdaten immer noch Werte in die Datenbank schreiben.
Ich kann mir immer noch kein Szenario vorstellen, wie das funktionieren sollte, aber egal.
Dein Ursprungsproblem liegt darin begründet, dass die Umgebungsvariable "IOB_BACKITUP_EXTDB" nicht im Container ankommt. Wie setzt du diese und wie sieht deine Umgebung aus?
EDIT: Außerdem könnte dein Container mal ein Update vertragen.
-
(u.a.) diese Docker Container laufen bei mir:
c389e7d91b5f influxdb:2.7-alpine "/entrypoint.sh infl…" 4 months ago Up 5 hours 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp influxdb 5f33c0bcde82 buanet/iobroker "/bin/bash -c /opt/s…" 4 months ago Up 5 hours (healthy) 0.0.0.0:1882->1882/tcp, :::1882->1882/tcp, 0.0.0.0:8081-8082->8081-8082/tcp, :::8081-8082->8081-8082/tcp, 0.0.0.0:8400->8400/tcp, :::8400->8400/tcp iobroker
Ich verwende docker-compose mit dieser Konfiguration für iobroker und influx:
version: '2' services: iobroker: container_name: iobroker image: buanet/iobroker hostname: iobroker restart: unless-stopped ports: - "8081:8081" # IOBroker - "8082:8082" # Jarvis Web Port - "1882:1882" # MQTT Server des Shelly Adapters - "8400:8400" # Jarvis Socket Port volumes: - ./iobroker/data:/sharename - ./iobroker/userscripts:/opt/userscripts - /run/udev:/run/udev:ro devices: - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2437275-if00:/dev/ttyACM0 environment: - USBDEVICES=/dev/ttyACM0 - DEVICE=/dev/ttyACM0 - IOB_BACKITUP_EXTDB = true - PACKAGES = influxdb2-cli influxdb: image: influxdb:2.7-alpine container_name: influxdb restart: unless-stopped # restart: no ports: - "8086:8086" - "8088:8088" volumes: - ./influxdb/data:/var/lib/influxdb - ./influxdb/config:/etc/influxdb - ./influxdb/bin:/root - ./influxdb/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - ./influxdb2:/root/lib/influxdb2/data - ./influxdb2-config:/etc/influxdb2 - ./influxdb.conf:/root/influxdb/influxdb.conf environment: - INFLUXDB_ADMIN_USER=admin - INFLUXDB_ADMIN_PASSWORD=xyz - DOCKER_INFLUXDB_INIT_USERNAME=admin - DOCKER_INFLUXDB_INIT_PASSWORD=xyz - DOCKER_INFLUXDB_INIT_MODE=upgrade - DOCKER_INFLUXDB_INIT_BUCKET=xyz - DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG=/root/influxdb/influxdb.conf - DOCKER_INFLUXDB_CONFIG_PATH=/root/influxdb2/config.toml - DOCKER_INFLUXDB_BOLT_PATH=/root/influxdb2/influxdb.bolt - DOCKER_INFLUXDB_ENGINE_PATH=/root/influxdb2/engine - DOCKER_INFLUXDB_INIT_ORG=xyz #entrypoint: #- sh /entrypoint.sh
-
-
@marc-berg
Die Umgebungsvariablen kommen doch an:root@iobroker:/opt/iobroker# env IOB_BACKITUP_EXTDB = true PACKAGES = influxdb2-cli
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
Die Umgebungsvariablen kommen doch an:
Dann wären sie dort sichtbar:
----- ENV ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ----- USBDEVICES: /dev/ttyACM0 -----
Irgendwas ist hier sehr komisch. In deinem Docker-Log steht auch was von Image 7.0.1.
-
@marc-berg sagte in Test Adapter ioBroker.backitup v2.8.x:
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
Die Umgebungsvariablen kommen doch an:
Dann wären sie dort sichtbar:
----- ENV ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ----- USBDEVICES: /dev/ttyACM0 -----
Irgendwas ist hier sehr komisch. In deinem Docker-Log steht auch was von Image 7.0.1.
Okay, überzeugt. Ich baue das Image neu, wenn heute Abend die Heizung aus ist. Danach gebe ich Euch hier noch mal ein Update. Danke für Eure Unterstützung.
-
Die Unterstüzung für IOB_BACKITUP_EXTDB gibt es erst seit Image 7.2!!! Und für die Umgebungsvariable PACKAGES=influxdb2-cli seit 8.x
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
@marc-berg
Die Umgebungsvariablen kommen doch an:root@iobroker:/opt/iobroker# env IOB_BACKITUP_EXTDB = true PACKAGES = influxdb2-cli
Mach mal die Leerzeichen weg. Weiß nicht ob das was bringt aber:
Dein docker-compose enthält:
environment: - USBDEVICES=/dev/ttyACM0 - DEVICE=/dev/ttyACM0 - IOB_BACKITUP_EXTDB = true - PACKAGES = influxdb2-cli
Aber laut log kommt nur USBDEVICES an. DEVICE gibt es nicht und bei den anderen beiden sind Leerzeichen drin.
-------------------------------------------------------------------------------- ----- Debugging information ----- ----- ----- ----- System ----- ----- arch: x86_64 ----- ----- hostname: iobroker ----- ----- ----- ----- Docker-Image ----- ----- image: v7.0.1 ----- ----- build: 2022-07-05T18:51:52+00:00 ----- ----- ----- ----- Versions ----- ----- node: v16.20.1 ----- ----- npm: 8.19.4 ----- ----- ----- ----- ENV ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ----- USBDEVICES: /dev/ttyACM0 ----- --------------------------------------------------------------------------------
Versuch mal so:
environment: - USBDEVICES=/dev/ttyACM0 - IOB_BACKITUP_EXTDB=true - PACKAGES=influxdb2-cli
Alternativ mal sauber compose down, compose up... Damit der Container neu gebaut wird...
MfG,
André -
@andre sagte in Test Adapter ioBroker.backitup v2.8.x:
Weiß nicht ob das was bringt aber:
@HansJochen hatte (warum auch immer) das Image 7.0.1 am Start. Damit war das Setzen der Umgebungsvariablen sowieso für die Katz.
-
@marc-berg In der Tat! Das habe ich glatt überlesen, bzw. habe ich wirklich v9.0.1 gelesen, was ja aktuell wäre.
Hätte mir aber auch spätestens bei node 16 komisch vorkommen müssen. Naja, ich schiebe es mal darauf, dass heut Sonntag ist... -
Was für ein image 7.0.1 ist das denn eigentlich? Die Version bezieht sich doch auf das iobroker Image, oder? Ich habe jetzt ein docker-compose down und docker-compose up gemacht, aber es wird wieder diese Version gebaut. Die habe ich aber nirgends explizit angegeben.
Offenbar mache ich da fundamental was falsch.
Service Section sieht jetzt so aus:
services: iobroker: container_name: iobroker image: buanet/iobroker hostname: iobroker restart: unless-stopped ports: - "8081:8081" # IOBroker - "8082:8082" # Jarvis Web Port - "1882:1882" # MQTT Server des Shelly Adapters - "8400:8400" # Jarvis Socket Port volumes: - ./iobroker/data:/sharename - ./iobroker/userscripts:/opt/userscripts - /run/udev:/run/udev:ro devices: - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2437275-if00:/dev/ttyACM0 environment: - USBDEVICES=/dev/ttyACM0 - IOB_BACKITUP_EXTDB=true - PACKAGES=influxdb2-cli
-
Alles klar, jetzt passt es. Selbst mit latest wurde bei mir 7.0.1 gebaut, warum auch immer. Ich habe jetzt explizit 8.0.0 reingeschrieben, das sieht freundlicher aus:
----- image: v8.0.0 ----- ----- build: 2023-04-07T23:45:19+00:00 ----- ----- node: v18.15.0 ----- ----- npm: 9.5.0 ----- ----- ----- ----- Environment Variables ----- ----- IOB_BACKITUP_EXTDB: true ----- ----- PACKAGES: influxdb2-cli ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ----- USBDEVICES: /dev/ttyACM0 -----
-
@hansjochen
Nachlesen hilft https://hub.docker.com/r/buanet/iobroker
Stichpunktsupported tags
also eherlatest-v9
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
ich habe jetzt ein docker-compose down und docker-compose up gemacht, aber es wird wieder diese Version gebaut.
Mit diesen Befehlen werden übrigens keine neuen Versionen heruntergeladen, sondern einfach die Container neu erstellt mit dem bereits heruntergeladenen Image (so denn das Tag noch das gleiche ist).
Du müsstest vorher noch
docker-compose pull
ausführen. In diesem Fall hätte Docker das aktuelle "latest" heruntergeladen. Das müsste im Moment die 9.0.1 sein.
-
@marc-berg und alle
vielen Dank für Eure Unterstützung. Dass es den pull braucht, wusste ich nicht. Ich habe mir gestern Abend explizit die latest-v9 gebaut. Damit lief es auf Anhieb sauber durch und auch die Backups funktionieren wieder. Da mir der docker-compose down auch die Influx und auch die Grafana DB gelöscht hat und ich die Influx danach händisch wieder hergestellt habe, bin ich dort jetzt damit am Ringen, die Verbindung zwischen den beiden wieder vernünftig hin zu bekommen. Ich schätze mal, dass da mit den Token auf Grafana-Seite etwas nicht passt. In der Diagramm Darstellung einzelner Objekte im IOBroker bekomme ich vollständige Charts auch über ein ganzes Jahr bis heute angezeigt, insofern sollte da jetzt eigentlich nichts verloren gehen. Denke, das werde ich gelöst bekommen.
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
Da mir der docker-compose down auch die Influx und auch die Grafana DB gelöscht hat
Da hast du dann grundsätzlich was falsch angelegt, aber das wird hier endgültig off topic.
-
@hansjochen Bitte mache dafür einen separaten Thread auf. Das hat nix mehr mit Backitup zu tun
-
Ich bin fertig. Wollte ja nur mitteilen, dass die Backups jetzt wieder laufen.
-
Jetzt habe ich doch noch etwas gefunden, was ich für ein Backup Thema halte.
Der Influx Adapter hat eine Einstellung, wie lange die Daten aufgehoben werden sollen (S. 2, Standard Einstellungen, Storage Vorhaltezeit). Ich bin nicht sicher, ob es diese Einstellung früher schon gab oder die irgendwann reingekommen ist. Bei mir stand die auf "1 Jahr". Ich glaube aber nicht, dass ich die selbst so gesetzt hatte. Ich hatte ja über Jahre Daten in Influx gesammelt.
Im Zuge meiner Recovery Aktion jetzt habe ich meine IOBroker Installation über das Backup wiederhergestellt und dann mehrfach ein Backup meiner Influx Installation wiederhergestellt. Dabei bin ich ein paar Mal darüber gestolpert, dass nach der Wiederherstellung meine Daten im Influx zunächst vollständig waren, aber nach dem Verbinden mit IOBroker auf ein Jahr eingestutzt wurden - bis ich diese Option entdeckt habe.
Meine Vermutung ist, dass die Option im Influx Adapter irgendwann neu eingeführt wurde und dabei der Default auf "1 Jahr" gesetzt wurde. Das ist an der Stelle ja auch in Ordnung - wer den Adapter neu aufsetzt und konfiguriert, wird sicher alle Optionen durch schauen. Wenn man aber ein Backup wiederherstellt mit jahrelangem Datenbestand und diese Änderung nicht bemerkt, hat man nachher u. U. Datenverlust. Eine richtig gute Lösung dafür fällt mir ehrlich gesagt auch nicht ein. Den Parameter ungefragt zu ändern ist vielleicht auch nicht der beste Weg. Evtl. ein Warnhinweis?
-
@hansjochen sagte in Test Adapter ioBroker.backitup v2.8.x:
Den Parameter ungefragt zu ändern ist vielleicht auch nicht der beste Weg
Steile These. Abgesehen davon, dass dieses Thema nichts mit dem backitup-Adapter Thema zu tun hat (in dessen Thread wir uns hier befinden) stimmt deine Vermutung meines Erachtens auch nicht. Wenn du das Thema "Vorhaltezeit im Influxdb Adapter" diskutieren möchtest, mach' bitte einen neuen Thread auf.