67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# 迁移与部署计划
|
|
|
|
## 目标
|
|
|
|
将现有两个项目整理为统一工作区:
|
|
|
|
- `apps/backend`
|
|
- `apps/frontend`
|
|
|
|
并以 `Docker Compose + Caddy` 作为标准部署方式。
|
|
|
|
## 已完成
|
|
|
|
1. 新建统一工作区目录 `order-site-workspace`
|
|
2. 将原后端迁移到 `apps/backend`
|
|
3. 将原前端迁移到 `apps/frontend`
|
|
4. 增加 `docker-compose.yml`
|
|
5. 增加后端 Dockerfile
|
|
6. 增加前端+Caddy Dockerfile
|
|
7. 增加 Caddy 反代配置
|
|
8. 增加根目录 `.env.example`
|
|
9. 后端新增环境变量支持:
|
|
- `ADMIN_DEFAULT_USERS_JSON`
|
|
- `ORDER_SKU_MAPPINGS_JSON`
|
|
- `AGISO_MESSAGE_TEMPLATE`
|
|
|
|
## 当前部署结构
|
|
|
|
### backend
|
|
|
|
- Node 运行主服务
|
|
- Playwright 安装 Chromium
|
|
- `uv` 管理 OCR 子服务
|
|
- SQLite 与截图产物通过 Docker 卷持久化
|
|
|
|
### web
|
|
|
|
- 前端先构建
|
|
- 最终由 Caddy 提供静态文件
|
|
- `/api/*` 与 `/health` 反向代理到 backend
|
|
|
|
## 上线前仍需确认
|
|
|
|
1. `.env` 中的生产域名
|
|
2. 后台默认账号密码
|
|
3. Agiso 密钥与消息配置
|
|
4. SKU 映射 JSON
|
|
5. 是否继续使用 SQLite,或后续切换 MySQL/PostgreSQL
|
|
|
|
## 建议的下一步
|
|
|
|
1. 在新工作区本地执行一次:
|
|
- `docker compose build`
|
|
- `docker compose up -d`
|
|
2. 验证:
|
|
- `/health`
|
|
- `/api/v1/admin/auth/login`
|
|
- 前台 claim 页面
|
|
- 后台管理页
|
|
3. 再补服务器部署文档与备份策略
|
|
|
|
## 已补充文档
|
|
|
|
- [服务器部署教程](/Users/yml/codes/order-site-workspace/docs/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B.md)
|
|
- [首次上线检查清单](/Users/yml/codes/order-site-workspace/docs/%E9%A6%96%E6%AC%A1%E4%B8%8A%E7%BA%BF%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.md)
|
|
- [生产环境变量模板.env](/Users/yml/codes/order-site-workspace/docs/%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%A8%A1%E6%9D%BF.env)
|