Handbuch

Betrieb und Backup

Nützliche Befehle, Backup und Wiederherstellung, selbstentpackendes Archiv und Zurücksetzen.

Nützliche Befehle

docker compose exec -u www-data php vendor/bin/typo3 list           # TYPO3-CLI
docker compose exec -u www-data php vendor/bin/typo3 cache:flush
docker compose exec -u www-data php vendor/bin/typo3 search:index   # Suchindex abgleichen
docker compose exec db mariadb -u typo3 -p typo3                     # DB-Shell
docker compose logs -f web php

Backup erstellen

./BACKUP.sh                 # → backups/typo3-appliance-backup-<Datum>.tar.gz
./BACKUP.sh --with-env      # inkl. .env (Passwörter, OIDC-Client-Secret!)

Das Archiv enthält das Projektverzeichnis (ohne .git und backups/), einen SQL-Dump der Datenbank (Sessions nur als Struktur) sowie die Volumes typo3-config, typo3-fileadmin und typo3-var (ohne Cache und Logs). typo3temp und der Suchindex werden neu erzeugt, und die Wiederherstellung baut die Images neu. Die composer.lock sorgt dabei für identische Paketversionen.

Ohne --with-env ist keine .env enthalten. Client-Secret und Passwörter gibt man dann separat und vertraulich weiter.

Wiederherstellen

./RESTORE.sh typo3-appliance-backup-<Datum>.tar.gz [Zielverzeichnis]   # Standard: ./typo3-appliance
# oder: tar xzf <archiv>; cd typo3-appliance-backup-<Datum>; ./RESTORE.sh [Zielverzeichnis]

RESTORE.sh legt das Projekt an, baut die Images, befüllt die Volumes, spielt den Dump ein und startet alles. Fehlt die .env, wird .env.example übernommen. Dann TYPO3_OIDC_CLIENT_SECRET eintragen und docker compose up -d ausführen.

Das Skript bricht ab, wenn das Zielverzeichnis nicht leer ist oder das Compose-Projekt typo3 schon Volumes hat. --force löscht und ersetzt diese. Parallel zu einer bestehenden Instanz:

COMPOSE_PROJECT_NAME=typo3test HTTP_PORT=8089 ./RESTORE.sh …

Selbstentpackendes Shell-Archiv

./CREATE_SHELL_ARCHIVE_BACKUP.sh [--with-env]   # → backups/typo3-v14-oidc-appliance-YYYYMMDD.sh

Das Ergebnis ist eine einzelne Datei mit Backup und RESTORE.sh, die der Empfänger nur ausführen muss:

./typo3-v14-oidc-appliance-YYYYMMDD.sh              # legt ./typo3-appliance + Volumes an und startet
./typo3-v14-oidc-appliance-YYYYMMDD.sh ./ziel       # anderes Zielverzeichnis
./typo3-v14-oidc-appliance-YYYYMMDD.sh --list       # Inhalt anzeigen
./typo3-v14-oidc-appliance-YYYYMMDD.sh --extract d  # nur entpacken

Nach der Wiederherstellung gegebenenfalls anpassen: Hostname und Port, den Keycloak-Client (Redirect- und Back-Channel-URL) und docker-compose.override.yml.

Komplett zurücksetzen

docker compose down -v    # löscht ALLE Daten inkl. Datenbank