upgrade

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: upgrade

Beitrag von udo1toni »

Tipplic hat geschrieben: 15. Mär 2023 09:38 Hallo !
Vielen Dank für die ausführliche Erklärung. Aber ich versteh nur Bahnhof ! ;-)
Docker hab ich normal über die Weboberfläche der Synology aus dem Paketzentrum installiert. Openhab dann mit einer Anleitung aus dem Netz.
Also eigentlich keine besonderen Einstellungen vorgenommen. Die Daten liegen in einem Ordner Openhab/addons bzw. /conf und /userdata.
Über Terminal in den Containereigenschaften von Openhab kann ich auch über apt-get update updates ausführen.
Definitiv nein. Also, ja, das kannst du machen, aber es ist absolut sinnlos. So funktioniert Docker nun mal nicht.
Tipplic hat geschrieben: 15. Mär 2023 09:38 Was auch immer der da updated.
Docker entpackt das heruntergeladene Image in ein temporäres Verzeichnis. Dort hast Du innerhalb des Containers die Updates ausgeführt. Wird der Container beendet, so wird das temporäre Verzeichnis samt Updates gelöscht. :)
Tipplic hat geschrieben: 15. Mär 2023 09:38 Wäre es denn denkbar openhab auf dem Docker einfach zu löschen und neu zu installieren ? vorher natürlich die Ordner /conf und/userdata wegsichern und nach der Neuinstallation wieder zurückzukopieren ?
Nach welcher Anleitung bist Du vorgegangen?

Die "korrekte" Vorgehensweise:
  1. Du richtest Docker ein (das hast Du ja über das Paketzentrum gemacht)
  2. Du legst einen Ordner an, in dem Docker Ordner für den openHAB Container als Volumes nutzen kann. (z.B. /blabliblub/openhab/, wobei blabliblub ein konkretes Verzeichnis auf Deiner Synology ist)
  3. Du legst in diesem Ordner drei Unterordner an, conf, userdata und addons. Das sind die Ordner, die später im Container als Volumes verwendet werden.
  4. Du erzeugst den openHAB Container, dafür gibt es im Groben drei verschiedene Möglichkeiten:
    1. Direkt über die Shell
    2. Über eine Docker-Compose Datei (im yaml Format)
    3. Über Ansible (das ist ein eigenes Thema)
    Beim Erstellen des Containers gibst Du sämtliche Parameter an, die wichtig sind, unter anderem die Volumes (die Ordner hast Du unter Punkt 3 erzeugt) Welche der Methoden Du verwendet hast, entscheidet, wie Du weiter vorgehen musst, um ein "echtes" Update auszuführen.
  5. Danach arbeitest Du einfach mit dem Programm. Du kannst in den Container wechseln, das ist aber nur in seltenen Fällen wirklich sinnvoll, z.B. um zu testen, ob bestimme Einstellungen so funktionieren wie vorgesehen - also aus Sicht des Containers.
  6. Willst Du den Container updaten, wirfst Du ihn einfach weg und erzeugst ihn mit dem identischen Aufruf von Punkt 4 neu (immer vorausgesetzt, dass Du als Image openhab:latest verwendet hast, nicht ein genau spezifiziertes Image) Die Volumes (und deren Inhalt) bleiben auch beim Löschen des Containers erhalten, das ist der ganze Witz bei Docker, das ist im wörtlichen Sinne eine Wegwerf- Umgebung.
Falls Du es komfortabel magst, schmeißt Du alles noch mal komplett weg (also bis auf die Volumes bzw. die openHAB Konfiguration, die Du schon erstellt hast). Anschließend erzeugst Du einen Docker Container mit Portainer.
Danach loggst Du Dich über die Web-UI von Portainer ein und legst zukünftige Docker Container über Portainer an.
Portainer erzeugt ein Verzeichnis für die Volumes der verwalteten Container. Will man dies nutzen, muss man natürlich den Aufruf entsprechend anpassen.

Portainer macht die Arbeit mit Docker angenehmer, allerdings nimmt es Dir nicht die Arbeit ab, zu erlernen, wie Docker funktioniert. Das ist tatsächlich eine wichtige Voraussetzung, um erfolgreich damit zu arbeiten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten