Postfach/Team-Verwaltung/Supporter-Abo als Node.js/Express-Server portiert
Vollständiger 1:1-Port des cloudflare-worker/ (dogfather-universe-postfach) auf server-internal/: Bewerbungs-Postfach mit Rollen/Rechten, Team- Zugangsverwaltung (verschlüsselte Owner-only-Codes), DogiCrew-Supporter-Abo (PayPal Subscriptions, Google-Login, Resend-E-Mail, 30-Monats-Prämienzyklus) und automatische TikTok-Live-Erkennung. D1 -> better-sqlite3, Cloudflare- Cron -> node-cron. Läuft ohne gesetzte Secrets weiter (PayPal/Google/Resend/ Ticketanizer/Discord bleiben "nicht konfiguriert" statt kaputt), bis die echten Zugangsdaten eingetragen werden.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Vorlage — echte Werte kommen in eine eigene ".env"-Datei (nie committen,
|
||||
# nie in den Vault, nie in den Chat). 1:1 die gleichen Werte, die vorher per
|
||||
# `wrangler secret put` bzw. in wrangler.toml [vars] gesetzt waren.
|
||||
|
||||
PORT=4200
|
||||
DB_PATH=/var/lib/dogfather-internal/dogfather-internal.db
|
||||
|
||||
# ---- Owner-Zugang (Postfach/Team-Bereich) ----
|
||||
# Erst-Login-Code des Hauptadministrators (Dogi). Nach dem ersten Login kann
|
||||
# er über "Code ändern" durch einen in der DB gehashten Code ersetzt werden
|
||||
# (siehe routes/auth.js setOwnerCode) — POSTFACH_CODE bleibt dann als reiner
|
||||
# Fallback bestehen, wird aber nicht mehr benutzt, solange owner_code_hash
|
||||
# in app_settings gesetzt ist.
|
||||
POSTFACH_CODE=
|
||||
|
||||
# AES-256-Schlüssel (base64, 32 Bytes) für die reversible Team-Code-
|
||||
# Verschlüsselung. Erzeugen z.B. mit: node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
|
||||
ENCRYPTION_KEY=
|
||||
|
||||
# ---- TikTok-Live-Erkennung ----
|
||||
TIKTOK_USERNAME=dogfather0804
|
||||
|
||||
# ---- Bewerbungen: Ticketanizer ----
|
||||
TICKETANIZER_API_KEY=
|
||||
|
||||
# ---- Bewerbungen: Discord-Benachrichtigungen (3 verschiedene Kanäle) ----
|
||||
DISCORD_WEBHOOK_MODI=
|
||||
DISCORD_WEBHOOK_KOOPERATION=
|
||||
DISCORD_WEBHOOK_SCOUT_MANAGER=
|
||||
|
||||
# ---- Supporter-Abo: E-Mail (Resend) ----
|
||||
RESEND_API_KEY=
|
||||
RESEND_FROM=Dogfather Team <[email protected]>
|
||||
|
||||
# ---- Supporter-Abo: Google-Login ----
|
||||
# Öffentliche Client-ID (kein Geheimnis), aber bewusst nur per .env gesetzt,
|
||||
# nicht hart im Frontend-Code, damit sie zusammen mit den anderen Werten an
|
||||
# einer Stelle verwaltet wird.
|
||||
GOOGLE_CLIENT_ID=
|
||||
|
||||
# ---- Supporter-Abo: PayPal Subscriptions ----
|
||||
# "sandbox" zum Testen, "live" für echte Zahlungen.
|
||||
PAYPAL_ENV=sandbox
|
||||
PAYPAL_CLIENT_ID=
|
||||
PAYPAL_CLIENT_SECRET=
|
||||
PAYPAL_PLAN_ID=
|
||||
PAYPAL_WEBHOOK_ID=
|
||||
Reference in New Issue
Block a user