59 lines
2.5 KiB
Bash
59 lines
2.5 KiB
Bash
# =====================================================================
|
|
# Kita-Planer · Production Environment Template
|
|
# ---------------------------------------------------------------------
|
|
# Werte in der Hosting-Plattform als Environment Variables eintragen
|
|
# oder lokal als `.env.production` / Server-Env verwenden.
|
|
# Keine echten Secrets committen.
|
|
# =====================================================================
|
|
|
|
# PostgreSQL im Coolify-Compose-Stack
|
|
POSTGRES_DB="kita_planer"
|
|
POSTGRES_USER="kita_planer"
|
|
POSTGRES_PASSWORD="[GENERATE_ME]"
|
|
|
|
# Unterschiedliche DB-Rollen für Runtime und Migration. URL-Passwörter müssen URL-kodiert sein.
|
|
APP_DATABASE_PASSWORD="[GENERATE_ME]"
|
|
APP_DATABASE_URL="postgresql://kita_runtime:[URL_ENCODED_APP_PASSWORD]@postgres:5432/kita_planer?schema=public"
|
|
MIGRATION_DATABASE_URL="postgresql://kita_planer:[URL_ENCODED_OWNER_PASSWORD]@postgres:5432/kita_planer?schema=public"
|
|
|
|
# pgAdmin im Coolify-Compose-Stack
|
|
PGADMIN_DEFAULT_EMAIL="[admin@deine-domain.de]"
|
|
PGADMIN_DEFAULT_PASSWORD="[GENERATE_ME]"
|
|
|
|
# Auth.js / NextAuth
|
|
# Generieren mit: openssl rand -base64 32
|
|
AUTH_SECRET="[GENERATE_ME]"
|
|
|
|
# Oeffentliche Produktions-URL, ohne Slash am Ende.
|
|
# Beide Werte setzen, weil bestehender Code und Auth-Tooling beide Namen kennen.
|
|
AUTH_URL="https://[deine-domain.de]"
|
|
NEXTAUTH_URL="https://[deine-domain.de]"
|
|
NEXT_PUBLIC_SITE_URL="https://[deine-domain.de]"
|
|
|
|
# Umami Analytics (optional, cookieless)
|
|
# In Umami unter Website -> Tracking code auslesen.
|
|
NEXT_PUBLIC_UMAMI_SCRIPT_URL="https://analytics.[deine-domain.de]/script.js"
|
|
NEXT_PUBLIC_UMAMI_WEBSITE_ID="[UMAMI_WEBSITE_ID]"
|
|
NEXT_PUBLIC_UMAMI_DOMAINS="[deine-domain.de],www.[deine-domain.de]"
|
|
|
|
# Mailversand via Resend
|
|
RESEND_API_KEY="re_[PRODUCTION_API_KEY]"
|
|
EMAIL_FROM="Kita-Planer <[absender@deine-domain.de]>"
|
|
ADMIN_EMAIL="[kontakt@deine-domain.de]"
|
|
|
|
# Persistenter Upload-Speicher fuer Anhaenge vom Schwarzen Brett.
|
|
# Muss auf dem Server dauerhaft erhalten bleiben und darf nicht im Repo liegen.
|
|
UPLOAD_DIR="/var/lib/kita-planer/uploads/announcements"
|
|
|
|
# Standard: 256 MiB je Kita, 10 GiB insgesamt. Compose verwendet diese Werte.
|
|
UPLOAD_TENANT_QUOTA_BYTES="268435456"
|
|
UPLOAD_GLOBAL_QUOTA_BYTES="10737418240"
|
|
|
|
# Compose setzt UPLOAD_DIR fest auf /app/uploads/announcements.
|
|
# Die Anwendung ergänzt /announcements: bestehende Dateien liegen dort unter
|
|
# /app/uploads/announcements/announcements. Diesen Pfad beim Backfill beibehalten.
|
|
|
|
# Demo-Seeding ist in Produktion deaktiviert.
|
|
# Nur hinter einem Proxy setzen, der diesen Header überschreibt:
|
|
# TRUSTED_CLIENT_IP_HEADER="x-real-ip"
|