mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 00:59:40 +02:00
Add auth.py module to both STT and TTS services with: - API key validation via X-API-Key header - Rate limiting with sliding window (requests per minute) - Internal API key option for unlimited access - Environment variable configuration All protected endpoints now require authentication. Public endpoints (/health, /docs) remain accessible.
52 lines
1.3 KiB
Text
52 lines
1.3 KiB
Text
# ManaCore STT Service Configuration
|
|
# Copy to .env and adjust values as needed
|
|
|
|
# Server
|
|
PORT=3020
|
|
|
|
# Whisper (Lightning MLX)
|
|
WHISPER_MODEL=large-v3
|
|
|
|
# Voxtral (Local Models)
|
|
# Options: voxtral-mini-3b, voxtral-realtime-4b, voxtral-small-24b
|
|
VOXTRAL_MODEL=voxtral-realtime-4b
|
|
|
|
# Model Loading
|
|
# Set to true to preload models on startup (slower startup, faster first request)
|
|
PRELOAD_MODELS=false
|
|
|
|
# Load Management
|
|
# Maximum concurrent transcription requests before API fallback
|
|
MAX_CONCURRENT_REQUESTS=3
|
|
|
|
# API Fallback
|
|
# Enable automatic fallback to Mistral API when overloaded
|
|
API_FALLBACK_ENABLED=true
|
|
|
|
# Mistral API Key (required for API fallback)
|
|
# Get your key at https://console.mistral.ai/
|
|
MISTRAL_API_KEY=
|
|
|
|
# CORS Origins (comma-separated)
|
|
CORS_ORIGINS=https://mana.how,https://chat.mana.how,http://localhost:5173
|
|
|
|
# ===========================================
|
|
# Authentication
|
|
# ===========================================
|
|
|
|
# Enable API key authentication (default: true for production)
|
|
REQUIRE_AUTH=true
|
|
|
|
# API Keys (comma-separated, format: key:name)
|
|
# Example: sk-abc123:myapp,sk-def456:testuser
|
|
API_KEYS=
|
|
|
|
# Internal API key (no rate limit, for internal services)
|
|
# Generate with: openssl rand -hex 32
|
|
INTERNAL_API_KEY=
|
|
|
|
# Rate Limiting
|
|
# Requests per window per API key
|
|
RATE_LIMIT_REQUESTS=60
|
|
# Window size in seconds
|
|
RATE_LIMIT_WINDOW=60
|