Darstellung
Updates
Noch kein Update-Befehl
Einen eigenen Befehl für Updates gibt es noch nicht. Diese Seite beschreibt, was es heute gibt, und wo die Grenzen sind. Sprich ein Update mit POSTDOG ab, bis es den Befehl gibt.
Welches Image läuft
Welches Image läuft, entscheidet eine Zeile in /opt/postdog/.env:
POSTDOG_IMAGE=download.postdog.de/postdog/core@sha256:…Die Referenz nennt einen Digest, nicht nur einen Tag. Sie zeigt also immer auf genau ein Image – auch wenn unter derselben Versionsnummer etwas anderes veröffentlicht würde.
Was gerade läuft:
sh
docker inspect -f '{{ .Config.Image }}' postdog-coreWas ein zweiter Lauf des Installationsskripts tut
Startest du die Installationszeile noch einmal, dann
- prüft das Skript das aktuelle Release und seine Unterschrift,
- holt es das Image dieses Releases,
- lässt es Volumes, Geheimnisse,
.envunddocker-compose.ymlunverändert.
Weil die .env bleibt, startet docker compose danach wieder das Image, das dort steht – also das alte. Ein zweiter Lauf allein ist kein Update.
Ein Update, wie es heute geht
Sichern. Siehe Sichern und Wiederherstellen.
Stoppen:
shcd /opt/postdog && docker compose downOhne
-v. Die Volumes sind ohnehin extern, aber gewöhn dir das-vgar nicht erst an.Die alte
.envbeiseitelegen, damit das Skript eine neue schreibt:shmv /opt/postdog/.env /opt/postdog/.env.vorherDie Installationszeile noch einmal starten – mit denselben Namen wie beim ersten Mal. Das Skript schreibt eine neue
.envmit dem Image des aktuellen Releases und einer frisch geholten Lizenz. Volumes und Geheimnisse bleiben, wie sie sind.Vergleichen:
shdiff /opt/postdog/.env.vorher /opt/postdog/.envHattest du in der alten
.envetwas von Hand ergänzt, übernimm es und starte mitdocker compose up -dneu.
Die Grenzen
- Datenbankänderungen eines neuen Releases spielt das Image derzeit nicht selbst ein. Kläre vorher mit POSTDOG, ob das Release welche mitbringt.
- Die compose-Datei bleibt die vom ersten Lauf. Bringt ein Release eine geänderte mit, bekommst du das von POSTDOG gesagt.
- Der Container
postdog-data(mysql:8.4) gehört nicht zum Release und wird damit nicht aktualisiert.
Zurück zum vorherigen Stand
Das alte Image bleibt auf der Maschine liegen, bis du es löschst. Hat das neue Release nichts an der Datenbank geändert, reicht:
sh
cd /opt/postdog
mv .env .env.neu && mv .env.vorher .env
docker compose up -dHat es die Datenbank geändert, gehört dazu die Sicherung von vorher.