Docker-Images bauen und veroeffentlichen / lint (push) Successful in 1m30s
Docker-Images bauen und veroeffentlichen / typecheck (push) Successful in 1m48s
Docker-Images bauen und veroeffentlichen / test (push) Successful in 1m33s
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 7m20s
README mit Projektstand (Links auf Issues #33, #32), fehlenden Befehlen und CI-Gate. BETRIEB: sha-gepinnte Manifeste, DB-Sicherung, Rollout per set image, Label-Selector im pg_dump-Befehl, Storage Box. k8s/README: Schritt 09, Warnung vor delete namespace. TESTS, OFFENE-PUNKTE, ARCHITEKTUR (ADR-8, ADR-9) aktualisiert; Kommentare in .env.example und Worker-CronJob korrigiert. Refs #31 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
64 lines
2.9 KiB
Bash
64 lines
2.9 KiB
Bash
# 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=<zufaelliger-wert-mindestens-32-zeichen>
|
|
# Signiert die Admin-Sitzungen (Better Auth).
|
|
BETTER_AUTH_SECRET=<anderer-zufaelliger-wert-mindestens-32-zeichen>
|
|
|
|
# --- 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 und
|
|
# fuer die Folgeraten (Stripe Billing) zusaetzlich Products, Subscription
|
|
# Schedules, Subscriptions, Invoices (docs/BETRIEB.md, Abschnitt 4).
|
|
STRIPE_SECRET_KEY=<sk_test_…>
|
|
# Signaturgeheimnis des Webhook-Endpunkts (whsec_…), siehe docs/BETRIEB.md.
|
|
STRIPE_WEBHOOK_SECRET=<whsec_…>
|
|
|
|
# --- 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 <[email protected]>
|
|
# 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=
|