This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/backend/.env.example
Benjamin Admin bfdaf63ba9 fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.

This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).

Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:51:32 +01:00

136 lines
4.3 KiB
Plaintext

# BreakPilot Backend Environment Variables
# Kopiere diese Datei nach .env und passe die Werte an
# =============================================================================
# LLM Gateway Konfiguration
# =============================================================================
# Server-Einstellungen
LLM_GATEWAY_HOST=0.0.0.0
LLM_GATEWAY_PORT=8002
LLM_GATEWAY_DEBUG=false
# API Keys für Gateway-Zugriff (komma-separiert)
# Generiere mit: openssl rand -hex 32
LLM_API_KEYS=your-api-key-1,your-api-key-2
# JWT Secret (gleicher Wert wie Consent Service für SSO)
JWT_SECRET=your-jwt-secret
# Rate Limiting
LLM_RATE_LIMIT_RPM=60
LLM_RATE_LIMIT_TPM=100000
# Logging
LLM_LOG_LEVEL=INFO
LLM_AUDIT_LOGGING=true
# Backend Priorität (Reihenfolge für Fallback)
LLM_BACKEND_PRIORITY=ollama,vllm,anthropic
# =============================================================================
# Ollama Backend (lokal)
# =============================================================================
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_DEFAULT_MODEL=llama3.1:8b
OLLAMA_TIMEOUT=120
OLLAMA_ENABLED=true
# =============================================================================
# vLLM Backend (remote, z.B. vast.ai)
# =============================================================================
# VLLM_BASE_URL=http://gpu-server:8000
# VLLM_API_KEY=your-vllm-api-key
# VLLM_DEFAULT_MODEL=meta-llama/Meta-Llama-3.1-8B-Instruct
# VLLM_TIMEOUT=120
# VLLM_ENABLED=false
# =============================================================================
# Anthropic Claude API (Fallback)
# =============================================================================
ANTHROPIC_API_KEY=your-anthropic-api-key
ANTHROPIC_DEFAULT_MODEL=claude-3-5-sonnet-20241022
ANTHROPIC_TIMEOUT=120
ANTHROPIC_ENABLED=true
# =============================================================================
# Tool Gateway (Web Search mit PII-Schutz)
# =============================================================================
# Tavily API für Web-Suche
TAVILY_API_KEY=your-tavily-api-key
TAVILY_BASE_URL=https://api.tavily.com
TAVILY_TIMEOUT=30
TAVILY_MAX_RESULTS=5
TAVILY_SEARCH_DEPTH=basic
TAVILY_INCLUDE_ANSWER=true
TAVILY_INCLUDE_IMAGES=false
# PII Redaktion (automatische Entfernung personenbezogener Daten)
PII_REDACTION_ENABLED=true
# =============================================================================
# Alerts Agent (Google Alerts Relevanz-Filterung)
# =============================================================================
# Agent aktivieren
ALERTS_AGENT_ENABLED=false
# LLM-basiertes Scoring aktivieren (sonst Keyword-basiert)
ALERTS_USE_LLM=false
# LLM Gateway URL für Scoring (Standard: lokaler Server)
LLM_GATEWAY_URL=http://localhost:8000/llm
# Google Alerts RSS Feed URLs (komma-separiert)
# Erstelle Feeds unter: https://www.google.com/alerts
# Wähle "Zustellung an: RSS-Feed"
# ALERTS_RSS_FEEDS=https://google.com/alerts/feeds/.../...,https://google.com/alerts/feeds/.../...
# Feed Labels (komma-separiert, gleiche Reihenfolge wie FEEDS)
# ALERTS_RSS_LABELS=Inklusion Bayern,Datenschutz Schule,Schulrecht
# Fetch-Intervall in Minuten
ALERTS_FETCH_INTERVAL=60
# =============================================================================
# vast.ai GPU Infrastructure
# =============================================================================
# vast.ai API Key (von https://cloud.vast.ai/cli/)
# Wenn gesetzt, werden GPU-Kontrollen im Admin Panel aktiviert
# VAST_API_KEY=your-vast-api-key
# Instance ID (numerische ID deiner vast.ai Instanz)
# VAST_INSTANCE_ID=123456
# Control API Key (Admin-Schutz für Start/Stop Endpoints)
# Generiere mit: openssl rand -hex 32
# CONTROL_API_KEY=your-control-api-key
# Health Check Konfiguration
VAST_HEALTH_PORT=8001
VAST_HEALTH_PATH=/health
VAST_WAIT_TIMEOUT_S=600
# Auto-Shutdown (stoppt Instanz bei Inaktivität)
VAST_AUTO_SHUTDOWN=true
VAST_AUTO_SHUTDOWN_MINUTES=30
# State Persistence (Pfade für Status und Audit Log)
# VAST_STATE_PATH=./vast_state.json
# VAST_AUDIT_PATH=./vast_audit.log
# =============================================================================
# Bestehendes Backend
# =============================================================================
# Consent Service URL
CONSENT_SERVICE_URL=http://localhost:8081
# OpenAI API Key (für andere Features wie ai_processor.py)
OPENAI_API_KEY=your-openai-api-key