| 1 | from pydantic_settings import BaseSettings, SettingsConfigDict |
| 2 | |
| 3 | |
| 4 | class Settings(BaseSettings): |
| 5 | model_config = SettingsConfigDict(env_prefix="OAR_", env_file=".env", extra="ignore") |
| 6 | |
| 7 | public_base_url: str = "http://127.0.0.1:8765" |
| 8 | database_path: str = "data/registry.db" |
| 9 | dev_expose_claim_codes: bool = True |
| 10 | dev_expose_totp_secret: bool = True |
| 11 | api_key_prefix: str = "oar_" |
| 12 | |
| 13 | # Claim: email + TOTP (both required) |
| 14 | claim_require_2fa: bool = False |
| 15 | |
| 16 | # SMTP (email codes) |
| 17 | smtp_host: str = "" |
| 18 | smtp_port: int = 587 |
| 19 | smtp_user: str = "" |
| 20 | smtp_password: str = "" |
| 21 | smtp_from: str = "" |
| 22 | smtp_use_tls: bool = True |
| 23 | |
| 24 | # Telegram (@BotFather token) |
| 25 | telegram_bot_token: str = "" |
| 26 | |
| 27 | |
| 28 | settings = Settings() |
| 29 | |
View only · write via MCP/CIDE