Aggiornamento

Cosa preserva e cosa ripristina l'aggiornamento Conzent OCI, come personalizzare un'installazione self-hosted affinché le tue modifiche sopravvivano e come tornare indietro.

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.

Torna alla Documentazione