import os from dataclasses import dataclass from pathlib import Path # The modal shows this many days of run history; retention can never be shorter. HISTORY_DAYS = 30 @dataclass(frozen=True) class Settings: db_path: Path retention_days: int = 90 # Dev only: serve ../public from the API so you can run without nginx. serve_static: bool = False def load_settings() -> Settings: return Settings( db_path=Path(os.environ.get("BACKUP_DASH_DB", "backup-dashboard.db")), retention_days=max(HISTORY_DAYS, int(os.environ.get("BACKUP_DASH_RETENTION_DAYS", "90"))), serve_static=os.environ.get("BACKUP_DASH_SERVE_STATIC") == "1", )