Für jeden Server mit Docker Engine (≥ 24) und Docker Compose (≥ 2.24), Konfiguration über eine .env-Datei.
  1. Auslieferungspaket entpacken (sha256sum -c community-vX.Y.Z.tar.gz.sha256 prüft die Datei). Es enthält docker-compose.yml, .env.example, die Varianten für Coolify und Portainer sowie diese Dokumentation.
  2. Bei der Registry anmelden: docker login registry.example.org mit den Zugangsdaten aus der Lizenz.
  3. .env.example nach .env kopieren und ausfüllen. Pflicht: APP_SECRET (64 zufällige Zeichen, z. B. openssl rand -hex 32 – nie nachträglich ändern, daraus werden Geheimnisse verschlüsselt), APP_URL, MARIADB_PASSWORD, MARIADB_ROOT_PASSWORD, DATABASE_URL (gleiches Passwort), MERCURE_JWT_SECRET, MAILER_DSN. Empfohlen: ADMIN_EMAIL/ADMIN_PASSWORD für das erste Konto. Alle Variablen erklärt die Konfiguration.
  4. docker compose up -d – migrate führt die Migrationen aus und legt den ersten Admin an, danach starten app und worker.
  5. Reverse Proxy mit TLS auf die App zeigen lassen. Die App spricht nur HTTP und lauscht standardmäßig auf 127.0.0.1:8080 (APP_BIND, APP_PORT). Der Proxy muss X-Forwarded-Proto senden und in TRUSTED_PROXIES stehen; meldet er kein Schema, APP_TLS_TERMINATED=1 setzen.
  6. docker compose exec app php bin/console app:doctor – prüft Datenbank, Redis, Storage, Mailer und Stripe.
  7. https://<domain>/health muss {"status":"ok"} liefern – diesen Endpunkt ins Monitoring aufnehmen.

Beispiel für nginx als Reverse Proxy