Files
giglez/.env.production

172 lines
5.0 KiB
Bash

# GigLez Production Environment Configuration (Server)
# For production deployment with public access
# =============================================================================
# DEPLOYMENT MODE
# =============================================================================
GIGLEZ_MODE=production
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# Remote database (adjust for your server)
GIGLEZ_DB_HOST=db.giglez.com
GIGLEZ_DB_PORT=5432
GIGLEZ_DB_NAME=giglez
GIGLEZ_DB_USER=giglez_user
GIGLEZ_DB_PASSWORD=CHANGE_THIS_SECURE_PASSWORD
# Larger connection pool for multi-user
GIGLEZ_DB_POOL_SIZE=20
GIGLEZ_DB_MAX_OVERFLOW=40
# No SQL echo in production
GIGLEZ_DB_ECHO=false
# =============================================================================
# API CONFIGURATION
# =============================================================================
# Listen on all interfaces (behind reverse proxy)
GIGLEZ_API_HOST=0.0.0.0
GIGLEZ_API_PORT=8000
# Multiple workers for concurrency
GIGLEZ_API_WORKERS=4
# Strict CORS policy
GIGLEZ_API_CORS_ORIGINS=https://giglez.com,https://www.giglez.com
# Required authentication in production
GIGLEZ_REQUIRE_AUTH=true
# JWT settings (CHANGE SECRET IN PRODUCTION!)
GIGLEZ_JWT_SECRET_KEY=CHANGE_THIS_TO_RANDOM_64_CHAR_STRING
GIGLEZ_JWT_ALGORITHM=HS256
GIGLEZ_JWT_EXPIRE_MINUTES=1440
# =============================================================================
# FILE STORAGE
# =============================================================================
# Use S3-compatible object storage
GIGLEZ_STORAGE_TYPE=s3
# S3 Configuration (or MinIO)
GIGLEZ_STORAGE_BUCKET=giglez-captures
GIGLEZ_S3_ENDPOINT=https://s3.amazonaws.com # Or MinIO endpoint
AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
AWS_REGION=us-east-1
# Upload limits (larger for server)
GIGLEZ_MAX_UPLOAD_SIZE=10485760 # 10 MB
GIGLEZ_MAX_BATCH_FILES=100
# =============================================================================
# HARDWARE CONFIGURATION
# =============================================================================
# No hardware in production (file uploads only)
GIGLEZ_ENABLE_HARDWARE=false
# =============================================================================
# PERFORMANCE TUNING
# =============================================================================
# Wigle optimal batch size
GIGLEZ_BATCH_SIZE=512
# Larger LRU cache
GIGLEZ_CACHE_SIZE=256
# Redis for caching
GIGLEZ_REDIS_URL=redis://localhost:6379/0
# Celery for background tasks
GIGLEZ_BACKGROUND_MODE=celery
GIGLEZ_CELERY_BROKER=redis://localhost:6379/1
GIGLEZ_CELERY_RESULT_BACKEND=redis://localhost:6379/2
# =============================================================================
# LOGGING
# =============================================================================
# Production log level
GIGLEZ_LOG_LEVEL=INFO
# Log to file with rotation
GIGLEZ_LOG_FILE=/var/log/giglez/app.log
# No colors in file logs
GIGLEZ_LOG_COLORIZE=false
# JSON format for parsing
GIGLEZ_LOG_FORMAT=json
# =============================================================================
# GPS VALIDATION
# =============================================================================
# Wigle-derived thresholds
GIGLEZ_GPS_MAX_ACCURACY=50
GIGLEZ_GPS_MIN_ACCURACY=10
# =============================================================================
# SECURITY
# =============================================================================
# Rate limiting
GIGLEZ_RATE_LIMIT_ENABLED=true
GIGLEZ_RATE_LIMIT_PER_MINUTE=60
GIGLEZ_RATE_LIMIT_PER_HOUR=1000
# Request validation
GIGLEZ_VALIDATE_CONTENT_TYPE=true
GIGLEZ_MAX_REQUEST_SIZE=10485760
# =============================================================================
# MONITORING
# =============================================================================
# Sentry error tracking (optional)
SENTRY_DSN=
# Prometheus metrics endpoint
GIGLEZ_ENABLE_METRICS=true
GIGLEZ_METRICS_PORT=9090
# =============================================================================
# BACKUP
# =============================================================================
# Automated backup configuration
GIGLEZ_BACKUP_ENABLED=true
GIGLEZ_BACKUP_S3_BUCKET=giglez-backups
GIGLEZ_BACKUP_RETENTION_DAYS=30
# =============================================================================
# PRODUCTION FEATURES
# =============================================================================
# Disable debug endpoints
GIGLEZ_DEBUG_ENDPOINTS=false
# No auto-reload
GIGLEZ_AUTO_RELOAD=false
# Generic error messages
GIGLEZ_DEBUG_ERRORS=false
# Enable HTTPS redirect
GIGLEZ_FORCE_HTTPS=true
# =============================================================================
# SIGNATURE DATABASES
# =============================================================================
# Auto-update signature databases
GIGLEZ_SIGNATURE_AUTO_UPDATE=true
GIGLEZ_SIGNATURE_UPDATE_CRON=0 2 * * * # 2 AM daily