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.