# ============================================================================= # Full Stack TypeScript Template - Environment Configuration # ============================================================================= # # SICHERHEITSHINWEISE: # 1. Kopiere diese Datei zu '.env' und fülle die Werte aus # 2. NIEMALS .env in Git committen! (bereits in .gitignore) # 3. Verwende STARKE, ZUFÄLLIGE Passwörter und Secrets! # 4. Unterschiedliche Werte für Development, Staging und Production! # # Generiere sichere Secrets mit: # openssl rand -base64 32 # oder: node -e "console.log(require('crypto').randomBytes(32).toString('base64'))" # ============================================================================= # ----------------------------------------------------------------------------- # Application Settings # ----------------------------------------------------------------------------- NODE_ENV=production APP_PORT=8080 # Docker Container Namen (optional) APP_CONTAINER_NAME=fullstack-app POSTGRES_CONTAINER_NAME=postgres-db # Docker Image (für CI/CD) APP_IMAGE=fullstack-app:latest # ----------------------------------------------------------------------------- # Database Configuration (OPTIONAL) # ----------------------------------------------------------------------------- # Dieses Template kann mit verschiedenen Datenbanken verwendet werden: # - SQLite (Standard für einfache Projekte, keine Konfiguration nötig) # - PostgreSQL (für Production, siehe unten) # - MySQL, MongoDB, etc. (eigene Konfiguration) # # Für SQLite: Keine weiteren Einstellungen nötig! # Die Datenbank wird automatisch im /data Volume erstellt. # ----------------------------------------------------------------------------- # === PostgreSQL Configuration (Optional) === # Nur notwendig wenn PostgreSQL statt SQLite verwendet wird. # Aktivierung: # 1. Entkommentiere den postgres-Service in docker-compose.yml # 2. Setze die Werte unten # 3. Aktiviere DATABASE_URL # POSTGRES_DB=appdb # POSTGRES_USER=postgres # ⚠️ KRITISCH: MUSS geändert werden! Niemals Default-Passwort verwenden! # Beispiel für sicheres Passwort generieren: # openssl rand -base64 32 # POSTGRES_PASSWORD= # Optional: Für lokales Debugging (default: Port nicht exponiert) # POSTGRES_PORT=5432 # Vollständige Database URL (nur für PostgreSQL) # Format: postgresql://USER:PASSWORD@HOST:PORT/DATABASE # DATABASE_URL=postgresql://postgres:YOUR_PASSWORD@postgres:5432/appdb # ----------------------------------------------------------------------------- # Security & Authentication # ----------------------------------------------------------------------------- # ⚠️ KRITISCH: JWT Secret für Token-Signierung # MUSS ein starker, zufälliger String sein (min. 32 Zeichen) # Beispiel generieren: # openssl rand -base64 32 JWT_SECRET= # Optional: JWT Token Gültigkeit JWT_EXPIRY=7d # Optional: Session Secret (falls Sessions verwendet werden) # SESSION_SECRET= # ----------------------------------------------------------------------------- # Application Secrets & API Keys # ----------------------------------------------------------------------------- # Füge hier weitere Secrets hinzu, z.B.: # STRIPE_API_KEY= # SENDGRID_API_KEY= # AWS_ACCESS_KEY_ID= # AWS_SECRET_ACCESS_KEY= # REDIS_URL= # ----------------------------------------------------------------------------- # Development Settings (nur für lokale Entwicklung) # ----------------------------------------------------------------------------- # Für Development-Modus setze NODE_ENV=development # NODE_ENV=development # APP_PORT=3000 # ----------------------------------------------------------------------------- # Beispiel für verschiedene Umgebungen: # ----------------------------------------------------------------------------- # === DEVELOPMENT (mit SQLite) === # NODE_ENV=development # APP_PORT=3000 # JWT_SECRET=dev_jwt_secret_12345 # NUR für lokales Development! # # Keine DB-Config nötig für SQLite! # === STAGING (mit PostgreSQL) === # NODE_ENV=staging # APP_PORT=8080 # JWT_SECRET=[SICHERES_RANDOM_SECRET] # DATABASE_URL=postgresql://postgres:[PASSWORD]@postgres:5432/appdb # === PRODUCTION (mit PostgreSQL) === # NODE_ENV=production # APP_PORT=8080 # JWT_SECRET=[SEHR_SICHERES_RANDOM_SECRET] # DATABASE_URL=postgresql://postgres:[PASSWORD]@postgres:5432/appdb