Files
Kochbuch/.env.example
T
Kyle DammannandClaude Opus 5.5 9256e94286 Add phase 3: comments and cooking mode
- Comments on visible recipes; author and admin may delete; per-user
  hourly rate limit (COMMENT_RATE_LIMIT_PER_HOUR)
- Cooking mode with large text, tick-off checklists, serving scaling and
  Screen Wake Lock to keep the display on
- Serving calculator auto-submits on change
- Privacy tests cover comment and cooking-mode URLs

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 21:39:15 +01:00

60 lines
2.4 KiB
Bash

# Kopieren nach .env und anpassen: cp .env.example .env
# Pflichtwerte sind mit [PFLICHT] markiert.
# --- Allgemein ---------------------------------------------------------------
# [PFLICHT] Langer Zufallswert, z. B.: openssl rand -base64 48
SECRET_KEY=
# [PFLICHT] Öffentliche Adresse, wie sie im Browser steht (für Einladungslinks, CSRF, Hosts)
APP_BASE_URL=https://kochbuch.dammann.vip
# Zusätzliche erlaubte Hostnamen (kommagetrennt), z. B. für direkten LAN-Zugriff
ALLOWED_HOSTS=
TIME_ZONE=Europe/Berlin
# Nur für lokale Entwicklung auf true setzen
DEBUG=false
# --- Netzwerk / Reverse Proxy ------------------------------------------------
# Port auf dem Host, auf dem die App erreichbar ist (HTTP, ohne TLS)
APP_PORT=8000
# Adresse, an die der Port gebunden wird (127.0.0.1 = nur lokal, 0.0.0.0 = alle Interfaces)
APP_BIND_ADDRESS=0.0.0.0
# IPs/Netze (CIDR, kommagetrennt), deren X-Forwarded-For/-Proto-Header vertraut wird.
# Standard: private Netze. Am besten auf die IP deines Nginx eingrenzen.
TRUSTED_PROXIES=127.0.0.1/32,::1/128,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
# Optional: Header mit der echten Client-IP, gesetzt von einem vertrauenswürdigen Proxy,
# z. B. CF-Connecting-IP bei Cloudflare. Leer = X-Forwarded-For auswerten.
CLIENT_IP_HEADER=
# Cookies nur über HTTPS senden. Nur für Tests ohne HTTPS auf false setzen.
COOKIE_SECURE=true
# HSTS-Dauer in Sekunden (0 = aus)
HSTS_SECONDS=31536000
# --- Erster Admin (wird beim Start angelegt, falls die E-Mail noch nicht existiert) ---
ADMIN_EMAIL=
ADMIN_PASSWORD=
ADMIN_NAME=Admin
# --- Datenbank ---------------------------------------------------------------
POSTGRES_DB=kochbuch
POSTGRES_USER=kochbuch
# [PFLICHT] z. B.: openssl rand -base64 32
POSTGRES_PASSWORD=
# --- Server-Ressourcen ---------------------------------------------------------
GUNICORN_WORKERS=2
GUNICORN_THREADS=4
GUNICORN_TIMEOUT=120
# --- Anmelde-Schutz ------------------------------------------------------------
# Fehlversuche pro E-Mail bzw. pro IP innerhalb des Zeitfensters (Minuten)
LOGIN_MAX_FAILURES_PER_EMAIL=5
LOGIN_MAX_FAILURES_PER_IP=30
LOGIN_LOCKOUT_MINUTES=15
# --- Fotos ---------------------------------------------------------------------
IMAGE_MAX_UPLOAD_MB=15
IMAGE_MAX_PER_RECIPE=10
# --- Kommentare ------------------------------------------------------------------
# Maximal so viele Kommentare pro Nutzer und Stunde (0 = unbegrenzt)
COMMENT_RATE_LIMIT_PER_HOUR=30