# --- Flask Core --- # Geheimer Schlüssel für Session-Signierung. Erzeugen z.B. mit: # python -c "import secrets; print(secrets.token_hex(32))" SECRET_KEY=change-me-to-a-random-secret # Umgebung: development | production FLASK_ENV=development # Domain/Host (erst final setzen, wenn Domain feststeht). Beispiel: hub.example.com # Leer lassen für lokale Entwicklung (IP:Port). SERVER_NAME= # --- Datenbank --- # SQLite-Pfad. Standard: instance/hub.sqlite (relativ zur instance/-Ordner). # Für Postgres später z.B.: postgresql://user:pass@localhost/hub DATABASE_URL=sqlite:///hub.sqlite # --- Auth / Self-Registration --- # Komma-getrennte Allowlist erlaubter E-Mail-Adressen (vorerst nur eine). ALLOWED_EMAILS=deine@adresse.com # Gültigkeitsdauer des Login-Codes in Minuten. LOGIN_CODE_TTL_MINUTES=10 # Rate-Limit für Code-Anfragen (Flask-Limiter Syntax), z.B. "5 per hour". LOGIN_CODE_RATE_LIMIT=5 per hour # Speicher-Backend für Rate-Limits. # Dev/Einzelworker: memory:// | Produktion (mehrere gunicorn-Worker): redis://localhost:6379 RATELIMIT_STORAGE_URI=memory:// # --- SMTP / Mailversand --- # Anbieter frei wechselbar (Proton Bridge lokal, oder EU-Relay wie Infomaniak/Mailjet). MAIL_SERVER=127.0.0.1 MAIL_PORT=1025 MAIL_USE_TLS=false MAIL_USE_SSL=false MAIL_USERNAME= MAIL_PASSWORD= # Absenderadresse der Login-Mails. MAIL_DEFAULT_SENDER=hub@example.com