Improve auth flow
This commit is contained in:
123
.env.sample
Normal file
123
.env.sample
Normal file
@@ -0,0 +1,123 @@
|
||||
# .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
|
||||
Reference in New Issue
Block a user