add auth
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user