f43102b71a
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>
67 lines
2.7 KiB
Bash
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
|