Files
live/backend/config.py
T
admin efde5597bd 品牌化设置 + Claude米色衬线体主题 + 全站中文
- 品牌设置API: GET/PUT /api/settings/brand (名称/标语/Logo)
- 管理页系统设置: 品牌编辑器表单(名称/标语/Logo URL)
- 恢复Anthropic风格: 米色(#FBF9F6) 底色, Source Serif 4 + Noto Serif SC 衬线体
- 暖棕(#C2693A) 主色调, 更充裕的间距与留白, 庄重大气
- 全站中文: antd zhCN locale, 所有页面文本汉化
- 数据存储在 Config singleton, 运行时更新
2026-08-10 16:24:45 +08:00

49 lines
1.4 KiB
Python

from pydantic_settings import BaseSettings
from typing import Literal
class Settings(BaseSettings):
database_url: str = "sqlite+aiosqlite:///./data.db"
admin_password: str = "admin123"
media_origin_host: str = "127.0.0.1"
media_origin_rtmp_port: int = 1935
media_origin_api_port: int = 9997
media_origin_hls_port: int = 8888
edge_nodes: list[dict] = [
{
"id": "default",
"name": "Origin (Default)",
"host": "127.0.0.1",
"hls_port": 8888,
"api_port": 9997,
"weight": 100,
"enabled": True,
"subnet": "0.0.0.0/0",
"is_origin": True,
},
]
load_balance_strategy: Literal["round-robin", "weighted", "least-conn", "subnet"] = "subnet"
qualities: list[dict] = [
{"label": "1080p", "width": 1920, "height": 1080, "bitrate": "5000k"},
{"label": "720p", "width": 1280, "height": 720, "bitrate": "2500k"},
{"label": "480p", "width": 854, "height": 480, "bitrate": "1000k"},
{"label": "360p", "width": 640, "height": 360, "bitrate": "600k"},
]
multicast_enabled: bool = True
multicast_address_base: str = "239.0.0.1"
multicast_port_base: int = 5000
brand_name: str = "StreamCore"
brand_tagline: str = "Enterprise Streaming Platform"
brand_logo_url: str = ""
model_config = {"env_prefix": "LS_"}
settings = Settings()