# 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