Kita-Planer Deployment
Dieses Verzeichnis enthaelt die ausfuellbaren Vorlagen fuer das Production-Deployment.
Dateien
production.env.example: Vorlage fuer alle benoetigten Environment Variables.production-checklist.md: Checkliste fuer Domain, Datenbank, Auth, Mail, Uploads und Rechtliches.../Dockerfile: Container-Build fuer Coolify oder andere Docker-Hosts.../docker-compose.coolify.yml: Compose-Vorlage fuer Coolify mit required Environment Variables.
Empfohlener Ablauf mit Coolify und Gitea
- Repository in deine Gitea-Instanz pushen.
- In Coolify eine neue Application aus diesem Gitea-Repository anlegen.
- Als Build Pack
Docker Composewaehlen. - Als Compose-Datei
docker-compose.coolify.ymleintragen. - Die bestehende Coolify-Postgres-Datenbank ueber ihre interne
DATABASE_URLverbinden. - Environment Variables aus
production.env.examplein Coolify eintragen. - Domain auf den
app-Service mit internem Port3000zeigen lassen. - Deploy starten.
Beim Container-Start fuehrt scripts/start-production.sh automatisch aus:
npx prisma db push
Coolify erkennt Variablen aus docker-compose.coolify.yml und zeigt required Variablen
wie DATABASE_URL, AUTH_SECRET, AUTH_URL, NEXTAUTH_URL, NEXT_PUBLIC_SITE_URL,
RESEND_API_KEY, EMAIL_FROM und ADMIN_EMAIL in der UI an.
Welche Coolify-Postgres-URL?
Wenn die App und die Postgres-DB im selben Coolify-Projekt/Netzwerk laufen, nimm die interne Datenbank-URL aus Coolify, nicht die oeffentliche externe URL. Das ist stabiler und vermeidet unnoetigen Traffic ueber den Host.
Das Format bleibt:
postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=public
Wichtige Hinweise
- Das aktuelle Projekt nutzt noch
prisma db pushstatt versionierter Prisma-Migrationen. Fuer den ersten MVP-Deploy ist das praktikabel, fuer laengerfristigen Betrieb sollten Migrationen eingefuehrt werden. UPLOAD_DIRmuss persistent sein. Die Coolify-Compose-Datei mountet dafuer ein Docker-Volume nach/app/uploads.NEXT_PUBLIC_SITE_URLmuss die echte Domain enthalten, damit OpenGraph-Bilder in WhatsApp, LinkedIn und Co. korrekt als absolute URL aufgeloest werden.NEXT_PUBLIC_SITE_URLwird auch als Build-Arg an Docker uebergeben. In Coolify sollte diese Variable deshalb fuer Build und Runtime verfuegbar sein.