28 lines
811 B
Python
28 lines
811 B
Python
|
|
from pydantic_settings import BaseSettings
|
||
|
|
|
||
|
|
|
||
|
|
class Settings(BaseSettings):
|
||
|
|
# Jellyfin
|
||
|
|
jellyfin_url: str = "http://192.168.5.254:8096"
|
||
|
|
jellyfin_api_key: str = ""
|
||
|
|
jellyfin_external_url: str = "https://jellyfin.internal.bondelie.net"
|
||
|
|
|
||
|
|
# LLM provider
|
||
|
|
llm_provider: str = "anthropic" # anthropic, openai, or ollama
|
||
|
|
llm_api_key: str = ""
|
||
|
|
llm_model: str = "" # defaults vary by provider
|
||
|
|
llm_base_url: str = "" # override for ollama or custom endpoints
|
||
|
|
|
||
|
|
# App settings
|
||
|
|
db_path: str = "/data/library.db"
|
||
|
|
sync_interval_hours: int = 24
|
||
|
|
watch_state_sync_hours: int = 4
|
||
|
|
max_candidates: int = 200
|
||
|
|
max_recommendations: int = 6
|
||
|
|
session_secret: str = "change-me-in-production"
|
||
|
|
|
||
|
|
model_config = {"env_file": ".env", "extra": "ignore"}
|
||
|
|
|
||
|
|
|
||
|
|
settings = Settings()
|