# === Required (Phase 1) === SERVER_PORT=3000 DATA_PATH=/data USERS_FILE=users.toml LOG_LEVEL=info LOG_PATH=/var/log/recorder LOG_MAX_DAYS=90 # === Optional (Phase 2+) === # Retention RETENTION_AUDIO_DAYS=30 RETENTION_TRANSCRIPT_DAYS=30 RETENTION_DOCUMENT_DAYS=0 # faster-whisper WHISPER_URL=http://localhost:10300 WHISPER_TIMEOUT_SECONDS=120 # Ollama OLLAMA_URL=http://localhost:11434 OLLAMA_MODEL=gemma3:4b OLLAMA_KEEP_ALIVE=0 # LLM provider (Ionos) LLM_URL=https://openai.inference.de-txl.ionos.com LLM_API_KEY= LLM_MODEL= LLM_TEMPERATURE=0 LLM_TIMEOUT_SECONDS=180 # Optional override of the consolidation system prompt. If unset or empty, a default is used. # Single line — escape newlines with \n if your shell preserves them, or put the prompt on one logical line. LLM_SYSTEM_PROMPT="Du bist ein medizinischer Assistent. Fasse die folgenden diktierten Abschnitte zu einem zusammenhängenden Text zusammen. Bereinigen und strukturieren, nichts hinzufügen, nichts interpretieren, keine Diagnose, keine Arztbrief-Struktur. Entferne Redundanzen. Spätere Aufnahmen haben Vorrang — Korrekturen, Nachträge und Widersprüche zugunsten der chronologisch letzten Aussage auflösen. Antworte auf Deutsch. Nur der zusammengefasste Text, keine Einleitung, kein Abschlusssatz." # Gazetteer (pre-LLM proper-name correction) # Directory with *.txt files, one entry per line. Blank and #-comment lines # are skipped. Missing directory is non-fatal — analysis runs without hints. VOCAB_DIR=./vocab # Session SESSION_TIMEOUT_HOURS=8