Upgraden

Wat de Conzent OCI-updater behoudt en wat het reset, hoe je een zelf-gehoste installatie kunt aanpassen zodat je wijzigingen behouden blijven, en hoe je kunt terugdraaien.

Upgraden

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

Of, vanaf elke locatie:

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

Maak eerst een backup. Migraties worden automatisch uitgevoerd en zijn niet omkeerbaar.

Wat de update doet

Stap Effect
git fetch + git reset --hard Gevolgde bestanden worden teruggezet naar de release. Lokale bewerkingen worden verworpen
docker compose down Containers stoppen. Volumes worden behouden — je database blijft bestaan
Verwijdert het app-public volume Verouderde CSS/JS/media wordt gewist zodat de activa van de nieuwe build worden geleverd
docker compose build --no-cache --pull Volledige herbouw, negerend de laagcache
docker compose up -d Alles start opnieuw
migrations:migrate Past alleen de uitstaande schema-migraties toe
scanner:register Registreert de gebundelde scanner opnieuw (idempotent)
Redis flush + sjablooncache wissen Verwijdert verouderde sessies en gecompileerde sjablonen
Admin creatie Overgeslagen — je gebruikers blijven onaangeroerd

Reken op een paar minuten voor de no-cache herbouw.

Wat overleeft: de database, gegenereerde toestemmingsscripts en elk ongevolgd bestand — .env, .conzent-credentials, docker-compose.override.yml, backups/.

Wat niet overleeft: bewerkingen aan gevolgde bestanden zoals docker-compose.yml, de nginx-configuratie, sjablonen en bronbestanden; het app-public volume; en Redis-inhoud, zodat iedereen is uitgelogd.

Aanpassen zonder het te verliezen

De regel: bewerk nooit een gevolgd bestand. Er zijn twee ondersteunde plaatsen voor je wijzigingen.

.env bevat alle configuratie — APP_URL, APP_PORT, SMTP, scanner afstemming, sleutels van derden.

docker-compose.override.yml bevat alles over de stack zelf. Compose voegt het automatisch samen en het is gitignored:

services:
  # Publiceer de scanner zodat externe installaties deze kunnen bereiken
  scanner:
    ports:
      - "8300:8300"

  # Geef MariaDB meer geheugen
  mariadb:
    command: --innodb-buffer-pool-size=1G

  # Mount aangepaste nginx-configuratie
  nginx:
    volumes:
      - ./docker/nginx/custom.conf:/etc/nginx/conf.d/default.conf:ro

Bestanden die je toevoegt — een Caddyfile, een aangepaste nginx-config — zijn ongevolgd en overleven updates. Bestanden die je wijzigt doen dat niet.

Een upgrade verifiëren

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

Laad vervolgens het dashboard en bevestig dat je aanpassingen intact zijn. Als een banner op een live site er daarna verkeerd uitziet, voer dan docker compose exec app php bin/oci scripts:regenerate uit.

Als een upgrade fout gaat

# 1. Wat is er kapot
docker compose logs --tail=100 app

# 2. Rol code en gegevens samen terug
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

Het herstellen van de backup van vóór de upgrade is wat een migratie ongedaan maakt — alleen de code terugdraaien laat het nieuwe schema staan. Dat is de reden voor de regel om eerst een backup te maken.

Verwijderen

bash scripts/install.sh --uninstall

Dit voert docker compose down -v uit, verwijdert elk volume, inclusief de database, en verwijdert vervolgens de installatiemap. Het vraagt eerst om bevestiging. Maak een backup als er enige kans is dat je de gegevens terug wilt.

De volledige referentie is te vinden bij de code: docs/upgrading.md op GitHub.

Terug naar Documentatie