# 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 静态视频。但**没有一键部署与验收**——"最后一公里"没修。 ## 二、目标(交付物) 1. `docker-compose.yml`:`db`(postgres:16) + `redis:7` + `api`(granian ASGI + Channels) + `web`(nginx) 四服务,含健康检查与依赖顺序。 2. 一键脚本:`deploy.sh`(构建 → 起服务 → 迁移 → 种子数据 → 健康检查),幂等可重跑。 3. nginx 配置:`/api` 反代、`/media` 静态视频(Range 支持)、SPA 回退。 4. 部署文档:环境要求、命令、验证清单、**回滚步骤**。 5. 冒烟验收脚本:健康检查 + 关键 API + 视频文件 Range 请求。 ## 三、验收标准 - [ ] 全新环境(干净机器/清空卷)一条命令拉起全栈 - [ ] 冒烟脚本全过:健康检查、登录、视频列表、视频 Range 播放(206 响应) - [ ] 重启幂等:重复执行 deploy.sh 不报错、不毁数据 - [ ] 文档含回滚步骤并演练过一次(记录) - [ ] 在 LAN 192.168.5.7 部署成功(或本机等价环境 + 差异说明) ## 四、验收命令(参考) ```bash bash deploy.sh bash smoke.sh curl -s -o /dev/null -w "%{http_code}" -H "Range: bytes=0-1023" http://localhost/media/