2.0 KiB
2.0 KiB
S-02 · DSP 部署基线(Docker + LAN)
| 字段 | 值 |
|---|---|
| 项目 | DSP · Desktop/dsp/dsp(deploy + nginx + backend) |
| 优先级 | P1 · M4 |
| 建议模型 | deepseek-v4-flash(主)/ glm-5.3-flash(复核) |
| 依赖 | S-01(测试基建先绿) |
| 预估 | 1.5 天 |
一、背景(为什么做)
DSP 架构文档(docs/architecture-dual-client.md)定义了完整形态:Android + Web 双端、Django + Channels、PG + Redis、ffmpeg 转码、nginx 静态视频。但没有一键部署与验收——"最后一公里"没修。
二、目标(交付物)
docker-compose.yml:db(postgres:16) +redis:7+api(granian ASGI + Channels) +web(nginx) 四服务,含健康检查与依赖顺序。- 一键脚本:
deploy.sh(构建 → 起服务 → 迁移 → 种子数据 → 健康检查),幂等可重跑。 - nginx 配置:
/api反代、/media静态视频(Range 支持)、SPA 回退。 - 部署文档:环境要求、命令、验证清单、回滚步骤。
- 冒烟验收脚本:健康检查 + 关键 API + 视频文件 Range 请求。
三、验收标准
- 全新环境(干净机器/清空卷)一条命令拉起全栈
- 冒烟脚本全过:健康检查、登录、视频列表、视频 Range 播放(206 响应)
- 重启幂等:重复执行 deploy.sh 不报错、不毁数据
- 文档含回滚步骤并演练过一次(记录)
- 在 LAN 192.168.5.7 部署成功(或本机等价环境 + 差异说明)
四、验收命令(参考)
bash deploy.sh
bash smoke.sh
curl -s -o /dev/null -w "%{http_code}" -H "Range: bytes=0-1023" http://localhost/media/<video>.mp4 # 期望 206
五、边界(不许做)
- 不上 K8s/复杂编排(单机 Compose 是明确规模假设)
- 不引入外部 CDN/云存储
- 不动应用代码(纯部署层;有 bug 记 PROGRESS 遗留)
六、交接
写 PROGRESS_S-02.md(含冒烟输出、回滚演练记录)。