# PostgreSQL connection string DATABASE_URL=postgresql://postgres:password@localhost:5432/statrix # Secret key for JWT token signing # Generate: python -c "import secrets; print(secrets.token_urlsafe(32))" JWT_SECRET_KEY=your-jwt-secret-key-here JWT_ALGORITHM=HS256 JWT_EXPIRE_HOURS=168 # Single admin user account (created automatically on first startup) OWNER_EMAIL=admin@example.com OWNER_PASSWORD=your-secure-password-here OWNER_NAME=Admin # Allowed origins for API access (JSON array format) CORS_ORIGINS=["http://localhost:8000","http://127.0.0.1:8000"] # SMTP settings for downtime/recovery email alerts # Gmail example uses App Password (requires 2-Step Verification) SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASS=your-app-password SMTP_FROM=Statrix Alerts NOTIFICATION_EMAIL=recipient@example.com APP_NAME=Statrix APP_URL=http://localhost:8000 COMPANY_NAME=Statrix # Public status page title (shown in browser tab and page heading) STATUS_PAGE_TITLE=Statrix Status # Custom logo URL for the public status page (optional, must be HTTPS) # STATUS_LOGO=https://your-domain.com/path/to/logo.png # Cache backend: "redis" or "inmemory" CACHE_BACKEND=redis REDIS_URL=rediss://default:password@your-redis-host:6379 CACHE_FAIL_FAST=true CACHE_WARMUP_FULL=true CACHE_KEY_PREFIX=statrix:v1 CACHE_WARMUP_BATCH_SIZE=500 MONITOR_LEADER_LOCK_ENABLED=true MONITOR_LEADER_LOCK_TTL_SECONDS=90 PUBLIC_STATUS_CACHE_TTL_SECONDS=10 # Derived status summary cache (fast public status path) STATUS_SUMMARY_ENABLED=true STATUS_SUMMARY_WARMUP_DELAY_SECONDS=90 STATUS_SUMMARY_COLD_WAIT_SECONDS=5 STATUS_SUMMARY_FLUSH_INTERVAL_SECONDS=10 STATUS_SUMMARY_MAX_TIMELINE_SEGMENTS=32 STATUS_SUMMARY_PARTIAL_DOWNTIME_MINUTES=15.0 STATUS_SUMMARY_REDIS_PREFIX=status:summary:v1