chore(部署): 增加 Docker 部署配置

关键改动:

- 新增本地和生产 Docker Compose、Web/Server Dockerfile 与 Nginx 模板

- 增加生产部署校验脚本、环境变量示例和 Prisma 初始迁移

- 更新部署文档、README 和架构/决策/流程/路线图说明

Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
Script Generator
2026-07-01 16:04:18 +08:00
parent 06b4aad7a4
commit 61f4ca51f1
22 changed files with 1051 additions and 1 deletions

View File

@@ -282,3 +282,28 @@ AI 解读不由人工按钮触发。`at_risk`、`likely_delayed`、`blocked` 自
- AI 预估工时和手填执行预估工时本身是小时数,不再按日期过滤;只有从计划起止时间自动推导的执行预估会按工作日历计算。
- 加班记录使用 `overtime.calcDuration`,不受节假日过滤,但按项目管理口径计算:每个自然日默认最多 8h跨天中间日期按 8h结束晚于 18:00 的当天额外计入超出时长,避免把夜间空档当作打卡工时。
- 新建加班记录也使用工作日历日期选择器;节假日和周末可选,只提示不阻止。
## 生产部署流程
生产部署以 `docs/deployment.md` 为准,标准顺序如下:
本地服务器/局域网部署:
1. 复制 `.env.local-server.example``.env.local-server`,按需把 `LOCAL_ACCESS_HOST``NEXTAUTH_URL` 改为本机局域网 IP。
2. 运行 `pnpm deploy:verify`
3. 运行 `pnpm deploy:local:build` 构建镜像。
4. 运行 `pnpm deploy:local:up` 启动服务,默认访问 `http://localhost:8080`
5. 首次部署或升级后运行 `docker compose --env-file .env.local-server -f docker-compose.local.yml exec server pnpm --filter server db:deploy`
6.`curl http://localhost:8080/api/v1/config/ai` 验证 Nginx 到后端链路。
云服务器部署:
1. 复制 `.env.production.example``.env.production`,替换密码、域名、`NEXTAUTH_SECRET`、AI key 等真实值。
2. 运行 `pnpm deploy:verify`,确认生产 Docker、Compose、Nginx、env 示例和文档齐全。
3. 运行 `docker compose --env-file .env.production -f docker-compose.prod.yml build` 构建镜像。
4. 运行 `docker compose --env-file .env.production -f docker-compose.prod.yml up -d` 启动服务。
5. 首次部署或升级后运行 `docker compose --env-file .env.production -f docker-compose.prod.yml exec server pnpm --filter server db:deploy`
6.`curl http://localhost/api/v1/config/ai` 验证 Nginx 到后端链路。
7.`docker compose --env-file .env.production -f docker-compose.prod.yml ps``logs -f server/web/nginx` 排查健康状态。
生产环境不提交 `.env.production`。HTTPS 默认由外层负载均衡、CDN、宿主机证书工具或外层 Nginx 终止Compose 内置 Nginx 只承担同域 HTTP 反代。