# Lidify Configuration
# Copy to .env and edit as needed

# ==============================================================================
# Database Configuration
# ==============================================================================
DATABASE_URL="postgresql://lidify:lidify@localhost:5433/lidify"

# ==============================================================================
# Redis Configuration
# ==============================================================================
# Note: Redis container port is mapped to 6380 to avoid conflicts with other Redis instances
REDIS_URL="redis://localhost:6380"

# ==============================================================================
# REQUIRED: Path to your music library
# ==============================================================================
MUSIC_PATH=/path/to/your/music
# DEVELOPMENT: Use your local path (e.g., /home/user/Music)
# DOCKER: This is the HOST path that gets mounted to /music in the container
#         The backend inside Docker always uses /music, not this value.
#         Example: MUSIC_PATH=~/Music  (container mounts as ~/Music:/music)

# ==============================================================================
# REQUIRED: Security Keys
# ==============================================================================

# Encryption key for sensitive data (API keys, passwords, 2FA secrets)
# CRITICAL: You MUST set this before starting Lidify
# Generate with: openssl rand -base64 32
SETTINGS_ENCRYPTION_KEY=

# Session secret (auto-generated if not set)
# Generate with: openssl rand -base64 32
SESSION_SECRET=

# ==============================================================================
# OPTIONAL: Customize these if needed
# ==============================================================================

# Port to access Lidify (default: 3030)
PORT=3030

# Timezone (default: UTC)
TZ=UTC

# Logging level (default: debug in development, warn in production)
# Options: debug, info, warn, error, silent
LOG_LEVEL=debug

# Allow public access to API documentation in production (default: false)
# Set to 'true' to make /api/docs accessible without authentication in production
# Development mode always allows public access
# DOCS_PUBLIC=true

# DockerHub username (for pulling images)
# Your DockerHub username (same as GitHub: chevron7locked)
DOCKERHUB_USERNAME=chevron7locked

# Version tag (use 'latest' or specific like 'v1.0.0')
VERSION=latest

# ==============================================================================
# OPTIONAL: Audio Analyzer CPU Control
# ==============================================================================

# Audio Analyzer CPU Control
# AUDIO_ANALYSIS_WORKERS=2       # Number of parallel worker processes (1-8)
# AUDIO_ANALYSIS_THREADS_PER_WORKER=1  # Threads per worker for TensorFlow/FFT (1-4, default 1)
# Formula: max_cpu_usage ≈ WORKERS × (THREADS_PER_WORKER + 1) × 100%
# Example: 2 workers × (1 thread + 1 overhead) = ~400% CPU (4 cores)
