3d5de06b44
AI-powered web app that recommends unwatched movies from a Jellyfin library based on natural language mood input. Jellyfin auth, modular LLM backend (Claude/OpenAI/Ollama), two-tier pre-filter + AI ranking, mobile-responsive dark theme UI with poster cards and deep links. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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()
|