开始多平台 多店铺整改

This commit is contained in:
yml
2026-04-08 22:21:11 +08:00
parent d5b10e3f7f
commit a2b09c89e8
40 changed files with 1750 additions and 685 deletions
+40 -7
View File
@@ -28,28 +28,53 @@ npm run dev
后端:
```bash
cp .env.development.example .env
cd apps/backend/subservices/ocr-worker
uv sync
cd apps/backend
npm install
cd subservices/ocr-worker
uv sync
cd ../..
cp config/local.example.cjs config/local.cjs
npm run dev
```
## Docker 部署
```bash
cp .env.example .env
cp .env.production.example .env
docker compose build
docker compose up -d
```
## Docker 本地开发
```bash
cp .env.development.example .env
docker compose -f docker-compose.dev.yml up -d --build
```
开发版 Compose 现在是热更新模式:
- 后端源码挂载到容器里,运行 `npm run dev`
- 前端源码挂载到容器里,运行 `vite`
- Caddy 只负责把 `80/443` 反代到前后端容器
通常只有首次启动、改 Dockerfile、改系统依赖时才需要 `--build`
开发版 Compose 会把后端数据目录直接挂载到:
- [apps/backend/data](/Users/yml/codes/order-site-workspace/apps/backend/data)
这样本地可以直接看到:
- SQLite 数据库
- `data/logs/*.log`
- 浏览器会话产物
- 截图和证明文件
当前 Dockerfile 已默认针对国内服务器优化以下下载源:
- Debian `apt` 使用腾讯云镜像
- `npm` 使用 `npmmirror`
- `uv` 通过 `pip` 安装,`uv` / `pip` 使用腾讯云 PyPI 镜像
- Python `pip` 使用腾讯云 PyPI 镜像
- 后端 Playwright 固定为 `1.42.1`,浏览器下载使用 `npmmirror`
如果你的服务器网络环境不同,也可以在构建时覆盖:
@@ -67,14 +92,22 @@ docker compose build \
- 后端健康检查:`https://你的域名/health`
- 后端接口前缀:`https://你的域名/api/v1/...`
开发时如果只改业务代码,直接保留 `docker compose -f docker-compose.dev.yml up -d` 即可:
- 改后端 `src/`:容器内自动热重启
- 改前端 `src/`Vite 自动热更新
- 改 OCR Python:后端下次调用时直接走挂载后的最新源码
详细文档:
- [服务器部署教程](/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)
- [开发环境模板](/Users/yml/codes/order-site-workspace/.env.development.example)
- [生产环境模板](/Users/yml/codes/order-site-workspace/.env.production.example)
## 迁移原则
- 不重写现有业务代码
- 先统一目录、部署和配置
- 生产环境优先使用 `.env` 和 Docker 卷
- 本机 Docker 调试优先使用 [docker-compose.dev.yml](/Users/yml/codes/order-site-workspace/docker-compose.dev.yml)