90 lines
6.9 KiB
Plaintext
90 lines
6.9 KiB
Plaintext
# ═══════════════════════════════════════════════════════════════════════════
|
||
# MailFlow Backend - Konfiguration
|
||
# ═══════════════════════════════════════════════════════════════════════════
|
||
# Kopiere diese Datei nach `.env` und fülle die Werte aus.
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Server Einstellungen
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
PORT=3000
|
||
NODE_ENV=development
|
||
BASE_URL=http://localhost:3000
|
||
FRONTEND_URL=http://localhost:5173
|
||
|
||
# CORS Einstellungen (optional, nutzt FRONTEND_URL als Default)
|
||
# CORS_ORIGIN=http://localhost:5173
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Appwrite (ERFORDERLICH)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Erstelle ein Projekt auf https://cloud.appwrite.io
|
||
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
|
||
APPWRITE_PROJECT_ID=dein_projekt_id
|
||
APPWRITE_API_KEY=dein_api_key_mit_allen_berechtigungen
|
||
APPWRITE_DATABASE_ID=mailflow_db
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Stripe (ERFORDERLICH)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Dashboard: https://dashboard.stripe.com
|
||
STRIPE_SECRET_KEY=sk_test_...
|
||
STRIPE_WEBHOOK_SECRET=whsec_...
|
||
|
||
# Subscription Preise (erstelle diese im Stripe Dashboard)
|
||
STRIPE_PRICE_BASIC=price_basic_monthly
|
||
STRIPE_PRICE_PRO=price_pro_monthly
|
||
STRIPE_PRICE_BUSINESS=price_business_monthly
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Mistral AI (EMPFOHLEN)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# API Key von https://console.mistral.ai
|
||
MISTRAL_API_KEY=dein_mistral_api_key
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Google OAuth - Gmail Integration (OPTIONAL)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Einrichtung: https://console.cloud.google.com
|
||
# 1. Neues Projekt erstellen
|
||
# 2. Gmail API aktivieren
|
||
# 3. OAuth Consent Screen konfigurieren
|
||
# 4. OAuth 2.0 Credentials erstellen
|
||
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
|
||
GOOGLE_CLIENT_SECRET=GOCSPX-xxx
|
||
GOOGLE_REDIRECT_URI=http://localhost:3000/api/oauth/gmail/callback
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Microsoft OAuth - Outlook Integration (OPTIONAL)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Einrichtung: https://portal.azure.com
|
||
# 1. App Registration erstellen
|
||
# 2. API Permissions: Mail.ReadWrite, User.Read, offline_access
|
||
# 3. Client Secret erstellen
|
||
# 4. Redirect URI konfigurieren
|
||
MICROSOFT_CLIENT_ID=xxx-xxx-xxx
|
||
MICROSOFT_CLIENT_SECRET=xxx
|
||
MICROSOFT_REDIRECT_URI=http://localhost:3000/api/oauth/outlook/callback
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Admin (OPTIONAL)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Comma-separated list of admin emails (e.g. support@webklar.com). Used by isAdmin().
|
||
# ADMIN_EMAILS=support@webklar.com
|
||
|
||
# Initial password for admin user when running: npm run create-admin
|
||
# ADMIN_INITIAL_PASSWORD=your-secure-password
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Gitea Webhook (OPTIONAL – Deployment bei Push)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Secret für X-Gitea-Signature und optional Bearer-Header (gleicher Wert möglich)
|
||
# GITEA_WEBHOOK_SECRET=dein_webhook_secret
|
||
# Optional: anderer Token nur für Authorization: Bearer (sonst wird GITEA_WEBHOOK_SECRET verwendet)
|
||
# GITEA_WEBHOOK_AUTH_TOKEN=
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Rate Limiting (OPTIONAL)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# RATE_LIMIT_WINDOW_MS=60000
|
||
# RATE_LIMIT_MAX=100
|