OpenCloud Updaten
Anleitung um die OpenCloud docker-compose Installation aktuell zu halten.
Bei einem Rolling-Release wie deinem sind das zwei getrennte Dinge, die du bewusst zusammenbringst: Image-Tag (.env) und Layout (Compose-Dateien).
Der Ablauf
cd ~/opencloud-compose-keycloak
git fetch origin
# 1. Was hat sich strukturell getan?
git log --oneline HEAD..origin/main
git diff HEAD origin/main -- docker-compose.yml weboffice/ traefik/ radicale/ idm/Das ist der Schritt, der heute gefehlt hat. Zehn Sekunden lesen. Achte auf: neue/entfernte Services, verschobene Env-Variablen, geänderte Mounts – besonders assets/apps (dein OC_APPS_DIR-Kniff) und certs.
# 2. Release-Notes lesen – die zweite Hälfte der Wahrheit
# https://github.com/opencloud-eu/opencloud/releasesDer Compose-Diff zeigt Layout, die Release-Notes zeigen neue Pflichtvariablen. Der 7.3.0-Event-Bus stand nur im opencloud-Repo, nicht im Compose-Repo – deshalb brauchst du beides.
# 3. Snapshot der aktuellen effektiven Config
docker compose config > /tmp/vorher.yml
# 4. Mergen
git merge origin/main # konfliktfrei, du hast keine Upstream-Datei angefasst
# 5. Tag setzen
sed -i 's/^OC_DOCKER_TAG=.*/OC_DOCKER_TAG=7.4.0/' .env
# 6. Was ändert sich effektiv?
docker compose config > /tmp/nachher.yml
diff /tmp/vorher.yml /tmp/nachher.yml
# 7. Backup + los
docker compose exec -T postgres pg_dump -U keycloak keycloak > ~/keycloak-db-$(date +%F).sql
docker compose pull
docker compose up -dSchritt 6 ist die Absicherung: du siehst die reale Auswirkung von Merge und Tag-Wechsel, bevor ein Container angefasst wird.
Danach prüfen
docker compose ps # Restart-Loops?
docker compose logs --since=5m | grep -iE 'error|fatal'
docker volume ls | grep opencloud-compose-keycloak # unverändert?Plus: Login, Collabora, eigene Apps, Desktop-Client.
Bei Major-Versionen zusätzlich
Für 7.x → 8.0 kommt die YAML-Ebene dazu, die der Compose-Diff nicht abdeckt:
docker run --rm -it --entrypoint /bin/sh \
-v /mnt/HC_Volume_103940066/opencloud_keycloak_data/config:/etc/opencloud \
opencloudeu/opencloud-rolling:8.0.0
# im Container:
opencloud init --diff
cd /etc/opencloud && patch --dry-run opencloud.yaml < opencloud.config.patchVorher Config-Backup. Bei Minor-Versionen wie 7.4.0 üblicherweise nicht nötig, schadet aber nie.
Die Merkregel
Drei Ebenen, drei Werkzeuge:
EbeneWerkzeugCompose-Layoutgit diff HEAD origin/mainNeue Env-VariablenRelease-Notesopencloud.yamlopencloud init --diff
Und der Notnagel, falls doch etwas Kryptisches auftaucht: der Quellcode. introductionVersion:"7.4.0" in services/*/pkg/config/ verrät dir, was in der Version neu und pflichtig ist – so haben wir heute den Event-Bus gefunden.