Opgradering

Hvad Conzent OCI-opdateringen bevarer, og hvad den nulstiller, hvordan man tilpasser en selvhostet installation, så dine ændringer overlever, og hvordan man ruller tilbage.

Opgradering

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

Eller fra hvor som helst:

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

Tag sikkerhedskopien først. Migrationer kører automatisk og kan ikke fortrydes.

Hvad opdateringen gør

Trin Effekt
git fetch + git reset --hard Trackede filer nulstilles til udgivelsen. Lokale redigeringer til dem kasseres
docker compose down Containere stopper. Volumener bevares — din database overlever
Fjerner app-public volumen Ubrugelige CSS/JS/media ryddes, så den nye bygnings aktiver serveres
docker compose build --no-cache --pull Fuld genopbygning, ignorerer lagcache
docker compose up -d Alt starter igen
migrations:migrate Anvender kun ventende skema-migrationer
scanner:register Genregistrerer den bundne scanner (idempotent)
Redis flush + skabelon cache rydning Fjerner forældede sessioner og kompilerede skabeloner
Admin oprettelse Sprunget over — dine brugere er uberørte

Forvent et par minutter til no-cache genopbygningen.

Hvad overlever: databasen, genererede samtykkescripts og hver utracket fil — .env, .conzent-credentials, docker-compose.override.yml, backups/.

Hvad der ikke gør: redigeringer af trackede filer såsom docker-compose.yml, nginx-konfiguration, skabeloner og kildefiler; app-public volumen; og Redis-indhold, så alle bliver logget ud.

Tilpasning uden at miste det

Reglen: rediger aldrig en tracket fil. Der er to understøttede steder for dine ændringer.

.env indeholder al konfiguration — APP_URL, APP_PORT, SMTP, scanner tuning, tredjeparts nøgler.

docker-compose.override.yml indeholder alt om selve stakken. Compose fusionerer det automatisk, og det er gitignored:

services:
  # Publicer scanneren, så fjernt installeringer kan nå den
  scanner:
    ports:
      - "8300:8300"

  # Giv MariaDB mere hukommelse
  mariadb:
    command: --innodb-buffer-pool-size=1G

  # Monter tilpasset nginx-konfiguration
  nginx:
    volumes:
      - ./docker/nginx/custom.conf:/etc/nginx/conf.d/default.conf:ro

Filer du tilføjer — en Caddyfile, en tilpasset nginx-konf — er utrackede og overlever opdateringer. Filer du ændrer, gør ikke.

Verificering af en opgradering

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

Indlæs derefter dashboardet og bekræft, at dine tilpasninger er intakte. Hvis et banner på et live site ser forkert ud bagefter, skal du køre docker compose exec app php bin/oci scripts:regenerate.

Hvis en opgradering går galt

# 1. Hvad gik galt
docker compose logs --tail=100 app

# 2. Rul kode og data tilbage sammen
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

At gendanne sikkerhedskopien før opgraderingen er det, der fortryder en migration — at rulle koden tilbage alene efterlader det nye skema på plads. Det er grunden til reglen om at tage sikkerhedskopien først.

Afdækning

bash scripts/install.sh --uninstall

Dette kører docker compose down -v, sletter hvert volumen inklusive databasen, og fjerner derefter installationsmappen. Det beder først om bekræftelse. Tag en sikkerhedskopi, hvis der er nogen chance for, at du vil have dataene tilbage.

Den fulde reference findes med koden: docs/upgrading.md på GitHub.

Tilbage til Dokumentation