# ARTISTA MODELCAMP 2027 — Konfigurationsvorlage # Kopieren nach .env (lokal) bzw. in ConfigMap/Secret (Kubernetes, k8s/). # Hier stehen KEINE echten Geheimnisse. Werte in <…> ersetzen. # --- Umgebung ---------------------------------------------------------------- # development | staging | production # Nur "production" wird indexiert, blendet Entwicklungs-Platzhalter aus und # erlaubt einen Stripe-Live-Schluessel. APP_ENV=development # Oeffentliche Adresse ohne abschliessenden Schraegstrich. APP_URL=http://localhost:3000 # --- Datenbank --------------------------------------------------------------- # Lokal: pnpm db:dev (Port 54329) oder docker compose up -d db (Port 5432). DATABASE_URL=postgresql://artista:artista-dev@localhost:54329/artista DATABASE_POOL_SIZE=10 # --- Geheimnisse (je mind. 32 Zeichen, z. B. `openssl rand -base64 48`) ------- # Leitet die Zugangstokens der Buchungsstatusseiten ab und hasht IPs fuer # Rate Limits. Wechsel macht alle bisherigen Statuslinks ungueltig. APP_SECRET= # Signiert die Admin-Sitzungen (Better Auth). BETTER_AUTH_SECRET= # --- Stripe ------------------------------------------------------------------ # sk_test_… = Testmodus (Checkout ohne Live-Freigabe moeglich) # sk_live_… = Livemodus (nur mit APP_ENV=production UND allen Freigaben) # Empfohlen: eingeschraenkter Schluessel (rk_…) mit Schreibrechten fuer # Customers, Checkout Sessions, PaymentIntents, PaymentMethods, Refunds. STRIPE_SECRET_KEY= # Signaturgeheimnis des Webhook-Endpunkts (whsec_…), siehe docs/BETRIEB.md. STRIPE_WEBHOOK_SECRET= # --- E-Mail ------------------------------------------------------------------ # file = sicherer Testausgang: Mails landen als .eml in MAIL_OUTBOX_DIR, # nichts wird verschickt (in production gesperrt). # smtp = Versand ueber den SMTP-Anbieter unten. MAIL_TRANSPORT=file MAIL_OUTBOX_DIR=.mail-outbox MAIL_FROM=ARTISTA MODELCAMP # Empfaenger fuer "Pruefung noetig"-Hinweise (optional, empfohlen). ADMIN_NOTIFY_EMAIL= SMTP_HOST= SMTP_PORT=587 SMTP_SECURE=false SMTP_USER= SMTP_PASSWORD= # --- Medien ------------------------------------------------------------------ # Persistentes Verzeichnis fuer freigegebene Bilder/Videos, ausgeliefert # unter /media/… (Kubernetes: eigenes PersistentVolume). MEDIA_DIR=./media # Datenschutzkonzept fuer externe Videos: none | youtube-nocookie | vimeo # Externe Player laden nur nach Klick und ausdruecklicher Zustimmung. EXTERNAL_VIDEO_PROVIDER=none # --- Google-Rezensionen (optional) ------------------------------------------ # "Places API (New)" aktivieren, Abrechnung an, API-Schluessel (kein OAuth). # Ohne Werte wird der Rezensionen-Abschnitt ausgeblendet. GOOGLE_PLACES_API_KEY= GOOGLE_PLACE_ID=