Upgrade

Was der Conzent OCI Updater beibehält und was er zurücksetzt, wie man eine selbst gehostete Installation anpasst, damit Ihre Änderungen erhalten bleiben, und wie man zurückrollt.

Upgrade

cd /path/to/conzent
bash scripts/backup.sh && bash scripts/install.sh --update

Oder von überall:

curl -sSL https://getconzent.com/install | sh -s -- --update

Machen Sie zuerst ein Backup. Migrationen laufen automatisch und sind nicht umkehrbar.

Was das Update macht

Schritt Wirkung
git fetch + git reset --hard Verfolgte Dateien werden auf die Version zurückgesetzt. Lokale Änderungen werden verworfen
docker compose down Container stoppen. Volumes werden beibehalten — Ihre Datenbank bleibt erhalten
Entfernt das app-public Volume Veraltete CSS/JS/Medien werden gelöscht, damit die Assets des neuen Builds bereitgestellt werden
docker compose build --no-cache --pull Vollständiger Neuaufbau, ohne Layer-Cache
docker compose up -d Alles startet erneut
migrations:migrate Wendet nur ausstehende Schema-Migrationen an
scanner:register Registriert den gebündelten Scanner erneut (idempotent)
Redis flush + Template-Cache leeren Veraltete Sitzungen und kompilierte Templates werden gelöscht
Admin-Erstellung Übersprungen — Ihre Benutzer bleiben unberührt

Erwarten Sie ein paar Minuten für den Neuaufbau ohne Cache.

Was überlebt: die Datenbank, generierte Einwilligungsskripte und jede nicht verfolgte Datei — .env, .conzent-credentials, docker-compose.override.yml, backups/.

Was nicht überlebt: Änderungen an verfolgten Dateien wie docker-compose.yml, die nginx-Konfiguration, Templates und Quellcodes; das app-public Volume; und Redis-Inhalte, sodass alle abgemeldet sind.

Anpassen, ohne es zu verlieren

Die Regel: niemals eine verfolgte Datei bearbeiten. Es gibt zwei unterstützte Orte für Ihre Änderungen.

.env enthält alle Konfigurationen — APP_URL, APP_PORT, SMTP, Scanner-Tuning, Drittanbieter-Schlüssel.

docker-compose.override.yml enthält alles über den Stack selbst. Compose fügt es automatisch zusammen und es ist gitignored:

services:
  # Veröffentlichen Sie den Scanner, damit entfernte Installationen darauf zugreifen können
  scanner:
    ports:
      - "8300:8300"

  # Geben Sie MariaDB mehr Speicher
  mariadb:
    command: --innodb-buffer-pool-size=1G

  # Mounten Sie die benutzerdefinierte nginx-Konfiguration
  nginx:
    volumes:
      - ./docker/nginx/custom.conf:/etc/nginx/conf.d/default.conf:ro

Dateien, die Sie hinzufügen — eine Caddyfile, eine benutzerdefinierte nginx-Konfiguration — sind nicht verfolgt und überstehen Updates. Dateien, die Sie ändern, tun dies nicht.

Überprüfen eines Upgrades

docker compose ps
docker compose exec app php bin/oci health
docker compose exec app php bin/oci scanner:health

Laden Sie dann das Dashboard und bestätigen Sie, dass Ihre Anpassungen intakt sind. Wenn ein Banner auf einer Live-Website danach falsch aussieht, führen Sie docker compose exec app php bin/oci scripts:regenerate aus.

Wenn ein Upgrade schiefgeht

# 1. Was ist kaputt
docker compose logs --tail=100 app

# 2. Rollback von Code und Daten zusammen
git checkout <previous-tag>
docker compose build --no-cache && docker compose up -d
bash scripts/restore.sh backups/<archive-taken-before-the-upgrade>.tar.gz --yes

Die Wiederherstellung des Backups vor dem Upgrade ist das, was eine Migration rückgängig macht — das Zurücksetzen des Codes allein lässt das neue Schema bestehen. Das ist der Grund für die Regel, zuerst ein Backup zu machen.

Deinstallation

bash scripts/install.sh --uninstall

Dies führt docker compose down -v aus, löscht jedes Volume, einschließlich der Datenbank, und entfernt dann das Installationsverzeichnis. Es fragt zuerst nach Bestätigung. Machen Sie ein Backup, wenn es irgendeine Chance gibt, dass Sie die Daten zurückhaben möchten.

Die vollständige Referenz befindet sich im Code: docs/upgrading.md auf GitHub.

Zurück zur Dokumentation