2.3 KiB
Domain Control aktualisieren
Die aktuelle Compose-Version ist v1.3.0. Datenbank, Einstellungen und
verschlüsselte API-Zugänge liegen in benannten Docker-Volumes und bleiben bei
den folgenden Verfahren erhalten.
Direkt in der Weboberfläche
- Als Administrator anmelden und Update öffnen.
- Falls noch nicht geschehen, Gitea-Benutzername und einen Token mit Lesezugriff auf Repository und Container-Paket hinterlegen.
- Nach Update suchen und anschließend Jetzt aktualisieren wählen.
- Warten, bis Image-Download, Containerwechsel und Healthcheck abgeschlossen sind. Bei einem Fehler versucht der Update-Agent automatisch, den vorherigen Container wiederherzustellen.
Ein nicht erreichbarer Git- oder Registry-Server unterbricht den laufenden DynDNS-Dienst nicht.
Mit Docker Compose
In compose.yml wird nur die zentrale, konkret gepinnte Image-Zeile geändert:
x-domain-control-image: &domain-control-image
image: git.j-mahler.de/admin/domain-control-webinterface-prod:v1.3.0
Danach im Ordner der Compose-Datei ausführen:
docker compose pull
docker compose up -d
docker compose ps
Die Web-App und der Update-Agent verwenden durch den YAML-Anker dieselbe
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 Healthcheck lässt sich anschließend direkt prüfen:
curl --fail http://127.0.0.1:9090/healthz
Die erwartete Antwort lautet ok.
Portainer oder Dockge
- Den bestehenden Stack bearbeiten.
- Nur den Tag der zentralen Image-Zeile auf
v1.3.0setzen. - Den Stack mit vorherigem Image-Pull erneut bereitstellen.
- Kontrollieren, dass beide Container laufen und die Web-App
healthyist.
Den Stack nicht mitsamt seinen Volumes löschen oder neu anlegen.
Rollback
Falls ein manuelles Rollback nötig ist, die zentrale Image-Zeile wieder auf die zuvor eingesetzte konkrete Version setzen und erneut ausführen:
docker compose pull
docker compose up -d
Vor größeren Versionssprüngen sollten die Volumes dyndns-data und
dyndns-secrets gemeinsam gesichert werden. Nur zusammen enthalten sie sowohl
die Datenbank als auch den zur Entschlüsselung benötigten Master-Key.