Files
RAPPORT-STACK/.env.example
T
karim f43102b71a Initial: RAPPORT-STACK — All-in-One Compose (Supabase + Website + HOST)
Ein 'docker compose up' bringt die komplette Hosting-Plattform hoch:
- include ../SERVER-CONTAINER (db/auth/rest/realtime/storage/kong/app)
- host-db: eigene Postgres für RAPPORT-HOST
- host: Node-Backend + gebündelte Hugo-Website (Dockerfile.host, multi-stage)
  provisioniert Kunden-Instanzen über Kong in den Supabase-Stack

Eine .env für lokal UND Hetzner (Domains/Keys per Env). host-Image baut +
läuft verifiziert: Website (/,/hosting/,/login/,/admin/) + API + E2E-Flow
(register→checkout→admin) aus dem Container.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 13:42:30 +02:00

67 lines
2.7 KiB
Bash

# ─────────────────────────────────────────────────────────────────────────────
# RAPPORT-STACK — eine Konfiguration für lokal UND Hetzner.
# Kopiere nach .env und ersetze die CHANGE-ME-Werte. .env niemals committen.
#
# Secrets generieren: openssl rand -hex 32
# ANON_KEY / SERVICE_ROLE_KEY aus JWT_SECRET ableiten:
# cd ../SERVER-CONTAINER && node scripts/generate-keys.mjs $JWT_SECRET
# ─────────────────────────────────────────────────────────────────────────────
# ═══ Rapport-Backend (Supabase-Stack) ═══
POSTGRES_PASSWORD=CHANGE-ME-min-32-zeichen
JWT_SECRET=CHANGE-ME-min-32-zeichen
ANON_KEY=CHANGE-ME-aus-jwt-secret
SERVICE_ROLE_KEY=CHANGE-ME-aus-jwt-secret
# URLs des Rapport-Stacks
# Lokal: SITE_URL=http://localhost:8080 · API_EXTERNAL_URL=http://localhost:8000
# Prod: SITE_URL=https://app.rapport.studio · API_EXTERNAL_URL=https://api.rapport.studio
SITE_URL=http://localhost:8080
API_EXTERNAL_URL=http://localhost:8000
# Ports des Rapport-Stacks
APP_PORT=8080
KONG_HTTP_PORT=8000
KONG_HTTPS_PORT=8443
DB_PORT=5432
# Rapport-Frontend-Image-Tag (aus Gitea-Registry)
RAPPORT_APP_TAG=main
# SMTP (leer = Test-Mailserver / Mails landen lokal)
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
SMTP_SENDER_NAME=Rapport
SMTP_ADMIN_EMAIL=admin@rapport.local
# ═══ RAPPORT-HOST (Hosting-Plattform) ═══
HOST_PORT=8787
# Lokal: http://localhost:8787 · Prod: https://host.rapport.studio
PUBLIC_BASE_URL=http://localhost:8787
# Eigenes JWT-Secret für HOST-Kundenkonten (NICHT das Stack-JWT_SECRET).
HOST_JWT_SECRET=CHANGE-ME-min-32-zeichen
# Passwort für den Betreiber-Bereich /admin.
ADMIN_PASSWORD=CHANGE-ME-admin-passwort
# Eigene HOST-Datenbank (Container-intern; Default reicht meist).
HOST_DB_USER=rapport_host
HOST_DB_PASSWORD=rapport_host
HOST_DB_NAME=rapport_host
# Provisioning in den Rapport-Stack. Default greift containerintern auf Kong zu.
RAPPORT_API_URL=http://kong:8000
# URL-Vorlage für die fertige Kunden-Instanz ({slug} wird ersetzt).
# Lokal: http://localhost:8080/?studio={slug}
# Prod: https://app.rapport.studio/?studio={slug}
RAPPORT_INSTANCE_URL_TEMPLATE=http://localhost:8080/?studio={slug}
# ═══ Stripe (optional; solange CHANGE-ME → MOCK-Modus, kein echtes Geld) ═══
STRIPE_SECRET_KEY=sk_test_CHANGE-ME
STRIPE_WEBHOOK_SECRET=whsec_CHANGE-ME
STRIPE_PRICE_SOLO=price_CHANGE-ME
STRIPE_PRICE_STUDIO=price_CHANGE-ME
STRIPE_PRICE_BUSINESS=price_CHANGE-ME