This commit is contained in:
Garret Patti
2026-06-29 10:41:29 -04:00
parent d48c1e973e
commit 2b0b19eb91
23 changed files with 969 additions and 44 deletions

View File

@@ -1,15 +1,34 @@
import secrets
import logging
from pydantic_settings import BaseSettings
from pathlib import Path
log = logging.getLogger(__name__)
class Settings(BaseSettings):
database_url: str = "sqlite+aiosqlite:////data/medialore.db"
media_root: str = "/media"
thumbnail_dir: str = "/data/thumbnails"
secret_key: str = ""
admin_username: str = "admin"
admin_password: str = ""
access_token_expire_days: int = 30
model_config = {"env_file": ".env"}
settings = Settings()
if not settings.secret_key:
settings.secret_key = secrets.token_urlsafe(32)
log.warning(
"SECRET_KEY not set — generated random key: %s. "
"All sessions will be invalidated on restart. "
"Set SECRET_KEY in .env for persistent sessions.",
settings.secret_key,
)
THUMBNAIL_DIR = Path(settings.thumbnail_dir)
THUMBNAIL_DIR.mkdir(parents=True, exist_ok=True)