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.shDas 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 entpackenNach 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