from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): """Конфигурация приложения. Все значения берутся из переменных окружения (или из файла `.env` в текущей директории при локальной разработке).""" # Общие database_url: str = "sqlite:///./panel.db" secret_key: str = "change-me-please-super-secret" access_token_expire_minutes: int = 60 * 12 # CORS allow_origins: str = "http://localhost:5173,http://127.0.0.1:5173" # Логирование log_level: str = "INFO" # Proxmox pve_host: str = "https://proxmox.local:8006" pve_token_name: str = "root@pam!panel" pve_token_value: str = "" pve_verify_ssl: bool = False pve_node: str = "pve" # Пул VMID, из которого выделяются номера новым машинам. # Реальный VMID всё равно берётся через /cluster/nextid — этот диапазон # используется только для валидации/отображения. vmid_range_start: int = 9000 vmid_range_end: int = 9999 model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore", ) settings = Settings()