Server(FastAPI 后端)
当前目录是 DesignerCEP 的主后端服务。
1. 当前目录结构(关键)
Server/
├── app/ # FastAPI 代码
│ ├── api/v1/ # 接口路由
│ ├── core/ # 配置与安全
│ ├── models/ # ORM 模型
│ ├── schemas/ # Pydantic Schema
│ ├── services/ # 业务服务
│ ├── db.py # SQLAlchemy 初始化与 seed
│ └── main.py # 应用入口
├── archives/ # 上传版本包归档目录
├── debug_images/ # 调试图片输出
├── docker-compose.yml # Docker 编排(backend + mysql + pma + portainer)
├── Dockerfile # 后端镜像
├── requirements.txt # Python 依赖
├── start.sh # 容器启动脚本
├── .env.example # 配置模板(推荐复制后本地填写)
└── .env # 运行配置(敏感)
2. 本地运行
cd Server
copy .env.example .env
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
检查服务:
curl http://localhost:8000/health
3. Docker 运行
cd Server
docker-compose up -d --build
docker-compose ps
docker-compose logs -f backend
停止服务:
docker-compose down
4. 配置说明(来自 app/core/config.py)
主要环境变量(优先使用 AI_*):
ENV(development / production)DATABASE_URLSECRET_KEYADMIN_TOKENALLOWED_ORIGINSSMTP_*QINIU_*AI_API_KEY、AI_BASE_URL、AI_MODELAI_VISION_MODEL、AI_IMAGE_EDIT_MODELQINIU_DOMAIN
5. 数据库迁移
推荐使用 Alembic:
cd Server
.venv\Scripts\python -m alembic upgrade head
新增字段后生成迁移:
.venv\Scripts\python -m alembic revision --autogenerate -m "describe_change"
6. 接口前缀与入口
- API 前缀:
/api/v1 - 健康检查:
GET /health - 启动入口:
app/main.py
7. 关于静态文件
当前仓库中没有 Server/static/app/ 目录。
在线部署场景下,前端静态资源由 Caddy/Nginx 单独托管(仓库根目录 Caddyfile 示例为 /var/www/app)。
8. 安全注意事项
Server/.env含真实密钥,不应继续明文共享。- 启动时如果检测到默认密钥,后端会输出配置警告。
- 部署前请至少轮换:
SECRET_KEY、ADMIN_TOKEN、数据库密码、AI 与云存储密钥。