Zum Inhalt springen

Installation von Updates

Die Komponenten von SOLECTRUS bekommen unabhängig voneinander Updates mit neuen Funktionen und Fehlerkorrekturen. Jede Komponente ist ein Docker-Image, dessen Version in der compose.yaml steht.

Docker lädt ein Image einmal herunter und verwendet es danach immer wieder. Auch beim Tag latest sieht Docker von sich aus nicht nach, ob es inzwischen eine neuere Version gibt. Ohne Zutun läuft eine Installation vom Mai im Dezember noch mit dem Image vom Mai.

Ein Update besteht deshalb aus zwei Schritten: das neue Image holen und den Container damit neu erzeugen. Ob das von Hand, über Watchtower oder in HELIOS geschieht, ändert an diesen beiden Schritten nichts.

Bei einer Installation von Hand liegen compose.yaml und .env in einem Verzeichnis auf dem Server. Ein Update erfolgt dort per SSH:

  1. Login auf den Server
  2. In das Verzeichnis mit compose.yaml und .env wechseln.
  3. Diese beiden Befehle ausführen:
Terminal-Fenster
docker compose pull
docker compose up -d

docker compose pull lädt die neuesten Versionen der Docker-Images herunter. docker compose up -d erzeugt die geänderten Container neu. Das betrifft alle Dienste aus der compose.yaml – Dashboard, Kollektoren und die Datenbanken (InfluxDB, PostgreSQL, Redis).

Wer diese Schritte nicht von Hand ausführen will, richtet Watchtower ein. Es prüft regelmäßig auf neue Versionen und übernimmt beide Schritte automatisch.

Zu den Diensten, die HELIOS einrichtet und betreibt, gehört Watchtower. Es prüft regelmäßig, ob es neue Versionen der Docker-Images gibt, und installiert sie automatisch. Das gilt für alle Dienste, HELIOS selbst eingeschlossen. Die Befehle von oben sind damit nicht mehr nötig.

In HELIOS steht unter Konfiguration → Grundeinstellungen → Software-Stand je Dienst die Wahl zwischen den Spalten Stabil und Entwicklung. Im Zweifel: Stabil.

Steht mindestens ein Dienst auf Entwicklung, erscheint dort zusätzlich die Frage, wie oft Watchtower nach neuen Versionen suchen soll. Ansonsten prüft es täglich.

Soll ein Update sofort greifen, ohne auf den nächsten Lauf von Watchtower zu warten, gibt es in HELIOS unter Dienste beim betreffenden Dienst den Knopf Aktualisieren. HELIOS lädt dann das Image neu und erzeugt den Container neu.

Welche Version gerade läuft, steht in derselben Zeile. Ist das Image-Tag veraltet, weist HELIOS darauf hin und bietet ein Update an.

Eine Ausnahme: Neue Major-Versionen von PostgreSQL (etwa 17 → 18) kann Watchtower nicht einspielen, denn dabei muss die Datenbank umgezogen werden. HELIOS bietet das Upgrade unter Dienste als eigenen Schritt an. Näheres unter PostgreSQL.