chore(部署): 增加 Docker 部署配置
关键改动: - 新增本地和生产 Docker Compose、Web/Server Dockerfile 与 Nginx 模板 - 增加生产部署校验脚本、环境变量示例和 Prisma 初始迁移 - 更新部署文档、README 和架构/决策/流程/路线图说明 Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
@@ -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 反代。
|
||||
|
||||
Reference in New Issue
Block a user