fix(deploy): run database seed from compiled dist in Docker

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-08 17:45:33 +08:00
parent 55a7043cbd
commit b4d3315db8
7 changed files with 35 additions and 12 deletions

View File

@@ -310,7 +310,7 @@ docker compose -f docker-compose.prod.yml --env-file .env.docker ps
| 应用 | 地址 |
|------|------|
| 玩家前台 | `http://你的IP:8080` |
| 玩家前台 | `http://你的IP:8082` |
| 管理后台 | `http://你的IP:8081` |
| API / Swagger | `http://你的IP:3000/api/docs` |
@@ -414,7 +414,7 @@ docker compose -f docker-compose.prod.yml --env-file .env.docker logs --tail=30
docker compose -f docker-compose.prod.yml --env-file .env.docker logs --tail=30 api
# 本机探测(在服务器上)
curl -I http://127.0.0.1:8080
curl -I http://127.0.0.1:8082
curl -I http://127.0.0.1:3000/api/docs
```
@@ -528,6 +528,18 @@ docker compose -f docker-compose.prod.yml --env-file .env.docker up -d
- 那是**宿主机上其他项目**(彩票系统)的数据,与 thebet365 Docker 内 `thebet365-redis` **不是同一个实例**
- 查看本项目 Redis`docker exec -it thebet365-redis redis-cli KEYS '*'`
### 12. player 启动失败 `8080: bind: address already in use`
- 宝塔/同机其他项目常占用 8080本项目默认玩家端口已改为 **8082**
- 服务器 `.env.docker` 设置 `PLAYER_PORT=8082`,并放行安全组/防火墙该端口
- 重启:`docker compose -f docker-compose.prod.yml --env-file .env.docker up -d player`
### 13. API 反复重启,`seed.ts` / `run-seed` 找不到
- 原因:生产镜像只有编译后的 `dist``prisma db seed``ts-node` 需要 `src/` 源码
- 已改为 entrypoint 执行 `node dist/infrastructure/database/seed-cli.js`;拉代码后重建 api 镜像
- **临时绕过**(先让 API 起来):`.env.docker``SEED_DATABASE=false``up -d api`
---
## 十、推荐日常开发顺序