# SolarBank IoT Dashboard - Production Environment Configuration # Copy this file to .env.prod and update the values for your production deployment # ============================================================================= # PROJECT CONFIGURATION # ============================================================================= PROJECT_NAME=SolarBank IoT Dashboard API_PREFIX=/api DEBUG=false ENV=production # ============================================================================= # SECURITY CONFIGURATION # ============================================================================= # IMPORTANT: Generate secure random values for production # Use: python -c "import secrets; print(secrets.token_urlsafe(32))" SECRET_KEY=REPLACE_WITH_SECURE_RANDOM_STRING_32_CHARS JWT_SECRET_KEY=REPLACE_WITH_SECURE_RANDOM_STRING_32_CHARS JWT_ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=11520 # ============================================================================= # CORS CONFIGURATION # ============================================================================= # JSON-formatted list of allowed origins for production BACKEND_CORS_ORIGINS=["https://yourdomain.com", "https://www.yourdomain.com"] # ============================================================================= # DATABASE CONFIGURATION (PostgreSQL) # ============================================================================= POSTGRES_SERVER=db POSTGRES_USER=solarbank POSTGRES_PASSWORD=REPLACE_WITH_SECURE_DB_PASSWORD POSTGRES_DB=solarbank_iot POSTGRES_INITDB_ROOT_PASSWORD=REPLACE_WITH_SECURE_ROOT_PASSWORD # ============================================================================= # REDIS CONFIGURATION # ============================================================================= REDIS_HOST=redis REDIS_PORT=6379 # ============================================================================= # FRONTEND CONFIGURATION # ============================================================================= REACT_APP_API_URL=https://yourdomain.com/api REACT_APP_MAPBOX_TOKEN=your-mapbox-token-here-optional # ============================================================================= # NGINX/SSL CONFIGURATION # ============================================================================= DOMAIN_NAME=yourdomain.com EMAIL=your-email@domain.com # ============================================================================= # IOT DEVICE CONFIGURATION # ============================================================================= DEFAULT_IOT_SERVER_PORT=443 DEFAULT_IOT_ENDPOINT=/api/data/iot # Battery voltage conversion settings (for LILYGO T-A7670G) BATTERY_MIN_VOLTAGE=3.0 BATTERY_MAX_VOLTAGE=4.2 # GPS settings DEFAULT_GPS_TIMEOUT=30 GPS_ACCURACY_THRESHOLD=10 # ============================================================================= # LOGGING CONFIGURATION # ============================================================================= LOG_LEVEL=INFO LOG_FORMAT=json # ============================================================================= # MONITORING CONFIGURATION # ============================================================================= ENABLE_METRICS=true METRICS_PORT=9090 # ============================================================================= # PRODUCTION SETTINGS # ============================================================================= DEV_MODE=false HOT_RELOAD=false # ============================================================================= # BACKUP CONFIGURATION # ============================================================================= BACKUP_ENABLED=true BACKUP_SCHEDULE=0 2 * * * BACKUP_RETENTION_DAYS=30 BACKUP_S3_BUCKET=your-backup-bucket-name-optional # ============================================================================= # EMAIL CONFIGURATION (for notifications) # ============================================================================= SMTP_TLS=true SMTP_PORT=587 SMTP_HOST=smtp.gmail.com SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password # ============================================================================= # MONITORING AND ALERTING # ============================================================================= SENTRY_DSN=your-sentry-dsn-optional ENABLE_ERROR_TRACKING=true