Aggiornamento
cd /path/to/conzent
bash scripts/backup.sh && bash scripts/install.sh --update
Oppure, da qualsiasi posizione:
curl -sSL https://getconzent.com/install | sh -s -- --update
Fai prima il backup. Le migrazioni vengono eseguite automaticamente e non sono reversibili.
Cosa fa l'aggiornamento
| Passo | Effetto |
|---|---|
git fetch + git reset --hard | I file tracciati vengono ripristinati alla versione di rilascio. Le modifiche locali vengono scartate |
docker compose down | I contenitori si fermano. I volumi sono conservati — il tuo database sopravvive |
Rimuove il volume app-public | CSS/JS/media obsoleti vengono rimossi in modo che le risorse della nuova build vengano servite |
docker compose build --no-cache --pull | Ricostruzione completa, ignorando la cache dei layer |
docker compose up -d | Tutto ricomincia |
migrations:migrate | Applica solo le migrazioni di schema in sospeso |
scanner:register | Re-registrazione dello scanner incluso (idempotente) |
| Flusso Redis + cancellazione della cache dei template | Elimina sessioni obsolete e template compilati |
| Creazione admin | Saltata — i tuoi utenti rimangono intatti |
Prevedi alcuni minuti per la ricostruzione senza cache.
Cosa sopravvive: il database, gli script di consenso generati e ogni file non tracciato — .env, .conzent-credentials, docker-compose.override.yml, backups/.
Cosa non sopravvive: modifiche ai file tracciati come docker-compose.yml, la configurazione nginx, i template e i file sorgente; il volume app-public; e i contenuti di Redis, quindi tutti vengono disconnessi.
Personalizzazione senza perderla
La regola: non modificare mai un file tracciato. Ci sono due luoghi supportati per le tue modifiche.
.env contiene tutta la configurazione — APP_URL, APP_PORT, SMTP, regolazione dello scanner, chiavi di terze parti.
docker-compose.override.yml contiene tutto ciò che riguarda la stack stessa. Compose lo unisce automaticamente ed è gitignored:
services:
# Pubblica lo scanner in modo che le installazioni remote possano raggiungerlo
scanner:
ports:
- "8300:8300"
# Dai a MariaDB più memoria
mariadb:
command: --innodb-buffer-pool-size=1G
# Monta la configurazione nginx personalizzata
nginx:
volumes:
- ./docker/nginx/custom.conf:/etc/nginx/conf.d/default.conf:ro
I file che aggiungi — un Caddyfile, una configurazione nginx personalizzata — non sono tracciati e sopravvivono agli aggiornamenti. I file che modifichi non lo fanno.
Verifica di un aggiornamento
docker compose ps
docker compose exec app php bin/oci health
docker compose exec app php bin/oci scanner:health
Quindi carica il dashboard e conferma che le tue personalizzazioni siano intatte. Se un banner su un sito live appare errato dopo, esegui docker compose exec app php bin/oci scripts:regenerate.
Se un aggiornamento va storto
# 1. Cosa è andato storto
docker compose logs --tail=100 app
# 2. Torna indietro codice e dati insieme
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
Ripristinare il backup pre-aggiornamento è ciò che annulla una migrazione — tornare indietro solo con il codice lascia il nuovo schema in atto. Questa è la ragione della regola del backup prima.
Disinstallazione
bash scripts/install.sh --uninstall
Questo esegue docker compose down -v, eliminando ogni volume incluso il database, quindi rimuove la directory di installazione. Chiede prima conferma. Fai un backup se c'è qualche possibilità che tu voglia recuperare i dati.
Il riferimento completo è disponibile con il codice: docs/upgrading.md su GitHub.