Feat: optionaler Demo-Seed im migrate-Job via RUN_DEMO_SEED (Testserver)

Der migrate-Container beendet sich nach 'migrate deploy' (restart:no) und der
app-Container hat kein tsx/keine Seed-Dateien -> manueller Seed unpraktisch.
Lösung: migrate führt bei RUN_DEMO_SEED=true nach der Migration den idempotenten
Demo-Seed aus (admin@demo.example / Demo1234!). In Prod die Variable weglassen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-20 14:22:43 +02:00
co-authored by Claude Opus 4.8
parent 79c79fdde7
commit 52e30010f1
2 changed files with 9 additions and 1 deletions
+5
View File
@@ -29,6 +29,11 @@ AUTH_URL=http://REPLACE-WITH-COOLIFY-SSLIP-DOMAIN
# Hinter Reverse-Proxy (Coolify/Traefik) für Auth.js v5 zwingend, sonst UntrustedHost:
AUTH_TRUST_HOST=true
# --- Demo-Seed (NUR Testserver!) ---
# true => migrate-Job legt nach der Migration den Demo-Mandanten + Nutzer an
# (admin@demo.example / Demo1234!). In Produktion NICHT setzen / auf false lassen.
RUN_DEMO_SEED=true
# --- KI-Provider (optional, aktuell ungenutzt) ---
AI_PROVIDER=anthropic
AI_API_KEY=
+4 -1
View File
@@ -8,13 +8,16 @@
services:
# Einmaliger Migrations-Job. Nutzt die builder-Stage (volle node_modules inkl.
# Prisma-CLI/tsx), da die runner-Stage kein Prisma-CLI enthält. Idempotent.
# Optionaler Demo-Seed nur, wenn RUN_DEMO_SEED=true (Testserver) — der Seed ist
# idempotent (upserts). In Produktion die Variable NICHT setzen.
migrate:
build:
context: .
target: builder
command: sh -c "npx prisma migrate deploy"
command: sh -c "npx prisma migrate deploy && if [ \"$$RUN_DEMO_SEED\" = \"true\" ]; then echo '>> Demo-Seed läuft…'; npx tsx prisma/seed.ts; else echo '>> Demo-Seed übersprungen (RUN_DEMO_SEED != true)'; fi"
environment:
DATABASE_URL: ${DATABASE_URL}
RUN_DEMO_SEED: ${RUN_DEMO_SEED:-false}
depends_on:
postgres:
condition: service_healthy