Files
CosScene/server/app/core/config.py
T
shiran f1ce992d69 feat(server): 添加默认管理员自动创建功能
- 在 .env.example 中添加默认管理员相关配置项
- 在 docker-compose.yml 中添加默认管理员环境变量映射
- 在 server/app/core/config.py 中定义默认管理员配置
- 创建 server/app/db/bootstrap.py 文件实现默认管理员创建逻辑
- 在 server/app/main.py 的生命周期中集成默认管理员确保功能
- 更新 README.md 文档说明新的管理员配置方式

新配置项包括:DEFAULT_ADMIN_ENABLED、DEFAULT_ADMIN_PHONE、
DEFAULT_ADMIN_EMAIL、DEFAULT_ADMIN_PASSWORD、DEFAULT_ADMIN_NICKNAME
和 DEFAULT_ADMIN_SYNC_PASSWORD。
2026-05-09 19:00:02 +08:00

49 lines
1.2 KiB
Python

from pathlib import Path
from pydantic_settings import BaseSettings
_config_path = Path(__file__).resolve()
_env_file = (
_config_path.parents[3] / ".env"
if _config_path.parents[2].name == "server"
else _config_path.parents[2] / ".env"
)
class Settings(BaseSettings):
DATABASE_URL: str
DATABASE_URL_SYNC: str
REDIS_URL: str = "redis://localhost:6379/0"
SECRET_KEY: str
ACCESS_TOKEN_EXPIRE_MINUTES: int = 43200
REFRESH_TOKEN_EXPIRE_DAYS: int = 60
STORAGE_BACKEND: str = "local"
LOCAL_STORAGE_PATH: str = "./uploads"
S3_ENDPOINT: str = ""
S3_ACCESS_KEY: str = ""
S3_SECRET_KEY: str = ""
S3_BUCKET: str = "ciyuan-viewfinder"
S3_REGION: str = ""
S3_PUBLIC_URL: str = ""
TENCENT_MAP_KEY: str = ""
SENTRY_DSN: str = ""
LOG_JSON: bool = False
LOG_LEVEL: str = "INFO"
DEFAULT_ADMIN_ENABLED: bool = True
DEFAULT_ADMIN_PHONE: str = "13900000001"
DEFAULT_ADMIN_EMAIL: str = "admin@ciyuan.local"
DEFAULT_ADMIN_PASSWORD: str = "admin123456"
DEFAULT_ADMIN_NICKNAME: str = "系统管理员"
DEFAULT_ADMIN_SYNC_PASSWORD: bool = True
class Config:
env_file = _env_file
settings = Settings()