# SneakyScanner Environment Configuration # Copy this file to .env and customize for your environment # ================================ # Flask Configuration # ================================ # Environment: production, development, or testing FLASK_ENV=production # Enable debug mode (NEVER use true in production!) FLASK_DEBUG=false # Host to bind to (0.0.0.0 for all interfaces) FLASK_HOST=0.0.0.0 # Port to listen on FLASK_PORT=5000 # ================================ # Database Configuration # ================================ # SQLite database path (absolute path recommended) DATABASE_URL=sqlite:////app/data/sneakyscanner.db # ================================ # Security Settings # ================================ # SECRET_KEY: Used for Flask session management and CSRF protection # IMPORTANT: Change this to a random string in production! # Generate with: python3 -c "import secrets; print(secrets.token_hex(32))" SECRET_KEY=your-secret-key-here-change-in-production # SNEAKYSCANNER_ENCRYPTION_KEY: Used for encrypting sensitive settings in database # IMPORTANT: Must be a valid Fernet key (32 url-safe base64-encoded bytes) # Generate with: python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" # Example: N3RhbGx5VmFsaWRGZXJuZXRLZXlIZXJlMTIzNDU2Nzg5MA== SNEAKYSCANNER_ENCRYPTION_KEY= # ================================ # CORS Configuration # ================================ # Comma-separated list of allowed origins for CORS # Use * to allow all origins (not recommended for production) CORS_ORIGINS=* # ================================ # Logging Configuration # ================================ # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL LOG_LEVEL=INFO # ================================ # Scheduler Configuration # ================================ # Number of thread pool executors for background scan jobs # Recommended: 2-4 for most deployments SCHEDULER_EXECUTORS=2 # Maximum number of concurrent instances of the same job # Recommended: 3 for typical usage SCHEDULER_JOB_DEFAULTS_MAX_INSTANCES=3 # ================================ # Initial Password (First Run) # ================================ # Password used for database initialization on first run # This will be set as the application login password # Leave blank to auto-generate a random password (saved to ./logs/admin_password.txt) # IMPORTANT: Change this after first login! INITIAL_PASSWORD=