172 lines
5.0 KiB
Bash
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
|