feat: establish secure update foundation
Container-Image veröffentlichen / container (push) v1.4.0 wurde manuell veröffentlicht und verifiziert

This commit is contained in:
admin committed 2026-08-29 11:30:43 +02:00
1 parent f02ec9977c
commit bb60c06c0e
28 files changed
+1403 -280

No files matched your search

+25 -7
View File
@@ -1,6 +1,6 @@
# Domain Control aktualisieren
Die aktuelle Compose-Version ist `v1.3.0`. Datenbank, Einstellungen und
Die aktuelle Compose-Version ist `v1.4.0`. Datenbank, Einstellungen und
verschlüsselte API-Zugänge liegen in benannten Docker-Volumes und bleiben bei
den folgenden Verfahren erhalten.
@@ -15,22 +15,35 @@ den folgenden Verfahren erhalten.
Container wiederherzustellen.
Ein nicht erreichbarer Git- oder Registry-Server unterbricht den laufenden
DynDNS-Dienst nicht.
DynDNS-Dienst nicht. Direkte Sprünge über mehrere Versionen sind möglich, wenn
das Ziel-Image die laufende Version ausdrücklich unterstützt. Diese
Kompatibilität wird nach dem Download und vor dem ersten Containerwechsel
geprüft. Ein inkompatibles Release wird ohne Unterbrechung abgelehnt.
Die sichere Update-Basis beginnt mit `v1.4.0`. Installationen bis einschließlich
`v1.3.0` werden einmalig wie unten beschrieben mit Compose aktualisiert. Danach
kann der Agent auch dann weitere kompatible Releases installieren, wenn seine
eigene Versionsnummer älter als die der Web-App ist. Erscheint **Compose
aktualisieren**, benötigt das Ziel einen neueren Agent-Vertrag; dann beide
Container wie unten beschrieben gemeinsam aktualisieren.
## Mit Docker Compose
In `compose.yml` wird nur die zentrale, konkret gepinnte Image-Zeile geändert:
```yaml
x-domain-control-image: &domain-control-image
image: git.j-mahler.de/admin/domain-control-webinterface-prod:v1.3.0
services:
dyndns:
image: &image git.j-mahler.de/admin/domain-control-webinterface-prod:v1.4.0
update-agent:
image: *image
```
Danach im Ordner der Compose-Datei ausführen:
```bash
docker compose pull
docker compose up -d
docker compose up -d --force-recreate
docker compose ps
```
@@ -39,6 +52,11 @@ Version. Für das Update ist kein `docker compose down` nötig. Insbesondere
niemals `docker compose down -v` verwenden, da `-v` die Daten- und
Secret-Volumes löschen würde.
Der Ein-Klick-Updater kann die auf dem Host liegende `compose.yml` nicht
verändern. Vor jedem späteren manuellen Compose-Lauf daher zuerst den gepinnten
Tag auf die gewünschte Version setzen, damit Compose keine ältere Version
wiederherstellt.
Der Healthcheck lässt sich anschließend direkt prüfen:
```bash
@@ -50,7 +68,7 @@ Die erwartete Antwort lautet `ok`.
## Portainer oder Dockge
1. Den bestehenden Stack bearbeiten.
2. Nur den Tag der zentralen Image-Zeile auf `v1.3.0` setzen.
2. Nur den Tag der zentralen Image-Zeile auf `v1.4.0` setzen.
3. Den Stack mit vorherigem Image-Pull erneut bereitstellen.
4. Kontrollieren, dass beide Container laufen und die Web-App `healthy` ist.
@@ -63,7 +81,7 @@ zuvor eingesetzte konkrete Version setzen und erneut ausführen:
```bash
docker compose pull
docker compose up -d
docker compose up -d --force-recreate
```
Vor größeren Versionssprüngen sollten die Volumes `dyndns-data` und