37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
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 — аутентификация через API-токен (для всех REST API).
|
|
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() |