# Flask configuration FLASK_SECRET_KEY=change-me # Admin authentication ADMIN_USERNAME=admin ADMIN_PASSWORD=change-me # Logging ENABLE_JSON_LOGS=false ENABLE_REQUEST_LOGS=true # SMTP configuration for notification emails SMTP_HOST=smtp.example.com SMTP_PORT=465 SMTP_USERNAME=your-username SMTP_PASSWORD=your-password SMTP_SENDER=web@example.com SMTP_RECIPIENTS=team@example.com SMTP_USE_TLS=true # Default notification toggles (admin UI can override these at runtime) EMAIL_NOTIFY_CONTACT_FORM=true EMAIL_NOTIFY_NEWSLETTER_SIGNUPS=false # Set to 1 to enable SMTP integration tests during CI/CD (requires valid SMTP settings) RUN_SMTP_INTEGRATION_TEST=0 # database configuration (SQLite by default, POSTGRES_URL for PostgreSQL) DATABASE_URL=sqlite:///./forms.db POSTGRES_URL=postgresql://user:password@hostname:5432/dbname # Rate limiting (submissions per window) RATE_LIMIT_MAX=10 RATE_LIMIT_WINDOW=60 # Optional Redis for distributed rate limiting (leave empty to use in-memory limiter) REDIS_URL= # Origin checking (optional) STRICT_ORIGIN_CHECK=false ALLOWED_ORIGIN= # Sentry (optional) SENTRY_DSN= SENTRY_TRACES_SAMPLE_RATE=0.0 # Gunicorn tuning (used in Docker runtime) GUNICORN_WORKERS= GUNICORN_TIMEOUT=30 # Registry used by CI (set on GitHub as repository secrets, not required locally) REGISTRY_URL=git.allucanget.biz REGISTRY_USERNAME= REGISTRY_PASSWORD=