# .env.example - Environment Variables Template # Copy to .env and update values # ================================================================ # JWT CONFIGURATION (CRITICAL - CHANGE IN PRODUCTION!) # ================================================================ JWT_SECRET_KEY=your-super-secret-jwt-key-change-in-production-minimum-32-characters-required # ================================================================ # EXTERNAL API KEYS # ================================================================ # AEMET (Spanish Weather Service) API Key # Get from: https://opendata.aemet.es/centrodedescargas/altaUsuario AEMET_API_KEY=your-aemet-api-key-here # Madrid Open Data API Key (Optional) # Get from: https://datos.madrid.es/portal/site/egob/ MADRID_OPENDATA_API_KEY=your-madrid-opendata-key-here # ================================================================ # EMAIL CONFIGURATION (For notifications) # ================================================================ # Gmail SMTP Configuration (recommended) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-gmail-app-specific-password # Alternative: SendGrid # SMTP_HOST=smtp.sendgrid.net # SMTP_PORT=587 # SMTP_USER=apikey # SMTP_PASSWORD=your-sendgrid-api-key # ================================================================ # WHATSAPP CONFIGURATION (Twilio) # ================================================================ # Twilio WhatsApp Configuration # Get from: https://www.twilio.com/console WHATSAPP_ACCOUNT_SID=your-twilio-account-sid WHATSAPP_AUTH_TOKEN=your-twilio-auth-token WHATSAPP_FROM_NUMBER=whatsapp:+14155238886 # ================================================================ # DATABASE CONFIGURATION (Auto-configured in Docker) # ================================================================ # These are set automatically in docker-compose.yml # Only change if using external databases # AUTH_DATABASE_URL=postgresql+asyncpg://auth_user:auth_pass123@auth-db:5432/auth_db # TENANT_DATABASE_URL=postgresql+asyncpg://tenant_user:tenant_pass123@tenant-db:5432/tenant_db # TRAINING_DATABASE_URL=postgresql+asyncpg://training_user:training_pass123@training-db:5432/training_db # FORECASTING_DATABASE_URL=postgresql+asyncpg://forecasting_user:forecasting_pass123@forecasting-db:5432/forecasting_db # DATA_DATABASE_URL=postgresql+asyncpg://data_user:data_pass123@data-db:5432/data_db # NOTIFICATION_DATABASE_URL=postgresql+asyncpg://notification_user:notification_pass123@notification-db:5432/notification_db # ================================================================ # REDIS CONFIGURATION (Auto-configured in Docker) # ================================================================ # REDIS_URL=redis://:redis_pass123@redis:6379 # ================================================================ # RABBITMQ CONFIGURATION (Auto-configured in Docker) # ================================================================ # RABBITMQ_URL=amqp://bakery:forecast123@rabbitmq:5672/ # ================================================================ # CORS CONFIGURATION # ================================================================ # Allowed origins for CORS (comma-separated) CORS_ORIGINS=http://localhost:3000,http://localhost:3001,https://yourdomain.com # ================================================================ # ML/AI CONFIGURATION # ================================================================ # Model storage configuration MODEL_STORAGE_PATH=/app/models MAX_TRAINING_TIME_MINUTES=30 MIN_TRAINING_DATA_DAYS=30 PROPHET_SEASONALITY_MODE=additive # Prediction caching PREDICTION_CACHE_TTL_HOURS=6 # ================================================================ # SECURITY CONFIGURATION # ================================================================ # Password requirements PASSWORD_MIN_LENGTH=8 MAX_LOGIN_ATTEMPTS=5 LOCKOUT_DURATION_MINUTES=30 # Rate limiting RATE_LIMIT_CALLS_PER_MINUTE=60 RATE_LIMIT_BURST=10 # Session configuration JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30 JWT_REFRESH_TOKEN_EXPIRE_DAYS=7 # ================================================================ # MONITORING CONFIGURATION # ================================================================ # Log levels: DEBUG, INFO, WARNING, ERROR, CRITICAL LOG_LEVEL=INFO # Service versions SERVICE_VERSION=1.0.0 # Data retention DATA_RETENTION_DAYS=365 WEATHER_CACHE_TTL_HOURS=1 TRAFFIC_CACHE_TTL_HOURS=1