103 lines
4.4 KiB
Plaintext
103 lines
4.4 KiB
Plaintext
# 🚀 Customer Portal - Production Environment
|
|
# Copy this file to .env for production deployment
|
|
# This configuration is optimized for production with security and performance
|
|
|
|
# =============================================================================
|
|
# 🌐 APPLICATION CONFIGURATION
|
|
# =============================================================================
|
|
NODE_ENV=production
|
|
APP_NAME=customer-portal-bff
|
|
BFF_PORT=4000
|
|
|
|
# =============================================================================
|
|
# 🔐 SECURITY CONFIGURATION (Production)
|
|
# =============================================================================
|
|
# CRITICAL: Generate with: openssl rand -base64 32
|
|
JWT_SECRET=GENERATE_SECURE_JWT_SECRET_HERE_MINIMUM_32_CHARS
|
|
JWT_EXPIRES_IN=7d
|
|
|
|
# Password Hashing (High rounds for security)
|
|
BCRYPT_ROUNDS=12
|
|
|
|
# =============================================================================
|
|
# 🗄️ DATABASE & CACHE (Production)
|
|
# =============================================================================
|
|
# Docker internal networking (container names as hostnames)
|
|
DATABASE_URL=postgresql://portal:YOUR_SECURE_DB_PASSWORD@database:5432/portal_prod?schema=public
|
|
REDIS_URL=redis://cache:6379
|
|
|
|
# =============================================================================
|
|
# 🌍 NETWORK & CORS (Production)
|
|
# =============================================================================
|
|
# Your production domain
|
|
CORS_ORIGIN=https://yourdomain.com
|
|
TRUST_PROXY=true
|
|
|
|
# =============================================================================
|
|
# 🚦 RATE LIMITING (Production)
|
|
# =============================================================================
|
|
# Strict rate limiting for production
|
|
RATE_LIMIT_TTL=60000
|
|
RATE_LIMIT_LIMIT=100
|
|
AUTH_RATE_LIMIT_TTL=900000
|
|
AUTH_RATE_LIMIT_LIMIT=3
|
|
|
|
# =============================================================================
|
|
# 🏢 EXTERNAL INTEGRATIONS (Production)
|
|
# =============================================================================
|
|
# WHMCS Integration (Production Environment)
|
|
WHMCS_BASE_URL=https://your-whmcs-domain.com
|
|
WHMCS_API_IDENTIFIER=your_production_identifier
|
|
WHMCS_API_SECRET=your_production_secret
|
|
WHMCS_WEBHOOK_SECRET=your_whmcs_webhook_secret
|
|
|
|
# Salesforce Integration (Production Environment)
|
|
SF_LOGIN_URL=https://login.salesforce.com
|
|
SF_CLIENT_ID=your_production_client_id
|
|
SF_PRIVATE_KEY_PATH=/app/secrets/sf-prod.key
|
|
SF_USERNAME=production@yourcompany.com
|
|
SF_WEBHOOK_SECRET=your_salesforce_webhook_secret
|
|
|
|
# =============================================================================
|
|
# 📊 LOGGING (Production)
|
|
# =============================================================================
|
|
# Production logging level
|
|
LOG_LEVEL=info
|
|
|
|
# =============================================================================
|
|
# 🎯 FRONTEND CONFIGURATION (Production)
|
|
# =============================================================================
|
|
# NEXT_PUBLIC_ variables are exposed to browser
|
|
NEXT_PUBLIC_APP_NAME=Customer Portal
|
|
NEXT_PUBLIC_APP_VERSION=1.0.0
|
|
NEXT_PUBLIC_API_BASE=https://yourdomain.com
|
|
NEXT_PUBLIC_ENABLE_DEVTOOLS=false
|
|
|
|
# =============================================================================
|
|
# 🎛️ PRODUCTION OPTIONS
|
|
# =============================================================================
|
|
# Node.js options for production
|
|
NODE_OPTIONS=--max-old-space-size=2048
|
|
|
|
# =============================================================================
|
|
# 🔒 PRODUCTION SECURITY CHECKLIST
|
|
# =============================================================================
|
|
# ✅ Replace ALL default/demo values with real credentials
|
|
# ✅ Use strong, unique passwords and secrets (minimum 32 characters for JWT)
|
|
# ✅ Ensure SF_PRIVATE_KEY_PATH points to actual key file
|
|
# ✅ Set correct CORS_ORIGIN for your domain
|
|
# ✅ Use HTTPS URLs for all external services
|
|
# ✅ Verify DATABASE_URL password matches docker-compose.yml
|
|
# ✅ Test all integrations before going live
|
|
# ✅ Configure webhook secrets for security
|
|
# ✅ Set appropriate rate limiting values
|
|
# ✅ Enable trust proxy if behind reverse proxy
|
|
|
|
# =============================================================================
|
|
# 🚀 QUICK START (Production)
|
|
# =============================================================================
|
|
# 1. Copy this template: cp .env.production.example .env
|
|
# 2. Edit .env with your production values (REQUIRED!)
|
|
# 3. Deploy: pnpm prod:deploy
|
|
# 4. Access: https://yourdomain.com
|