重构
This commit is contained in:
@@ -285,15 +285,14 @@ cp /root/thebet365.env.docker.bak .env.docker 2>/dev/null || cp .env.docker.exam
|
||||
|------|------|
|
||||
| `POSTGRES_PASSWORD` | 数据库密码 |
|
||||
| `JWT_SECRET` | 足够长的随机字符串 |
|
||||
| `SEED_DATABASE` | 首次部署可 `true`,种子跑完后改 `false` 并重启 api |
|
||||
| `SEED_DATABASE` | 生产建议保持 `false`,首次部署脚本会按需一次性 seed |
|
||||
|
||||
构建并启动(首次约 10~20 分钟,**勿提前关终端**):
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/thebet365
|
||||
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker build --no-cache 2>&1 | tee /tmp/thebet365-build.log
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker up -d
|
||||
chmod +x scripts/*.sh
|
||||
./scripts/deploy-first.sh
|
||||
```
|
||||
|
||||
查看状态(须带 `--env-file .env.docker`):
|
||||
@@ -312,7 +311,8 @@ docker compose -f docker-compose.prod.yml --env-file .env.docker ps
|
||||
|------|------|
|
||||
| 玩家前台 | `http://你的IP:8082` |
|
||||
| 管理后台 | `http://你的IP:8081` |
|
||||
| API / Swagger | `http://你的IP:3000/api/docs` |
|
||||
|
||||
生产 compose 不公网映射 API 端口,玩家端/管理端容器会通过内部 Docker 网络访问 API。
|
||||
|
||||
### 8.3 Gitea 私有仓库认证
|
||||
|
||||
@@ -384,11 +384,10 @@ git push
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/thebet365
|
||||
git pull
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker up -d --build
|
||||
./scripts/deploy-update.sh --pull
|
||||
```
|
||||
|
||||
- 仅改文档、未改代码/依赖时,可省略 `--build`:`up -d` 即可
|
||||
- 更新脚本会先备份数据库,再构建新镜像、执行 Prisma 迁移并替换容器
|
||||
- **不要**把 `.env.docker` 提交到 Git;服务器上单独保留
|
||||
- `release/*.zip` 为旧打包方式,Git 同步后不必再生成上传
|
||||
|
||||
@@ -408,19 +407,17 @@ cd /www/wwwroot/thebet365
|
||||
# 容器是否在跑
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker ps
|
||||
|
||||
# 构建失败时看日志
|
||||
tail -50 /tmp/thebet365-build.log
|
||||
# 容器启动失败时看日志
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker logs --tail=30 player
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker logs --tail=30 api
|
||||
|
||||
# 本机探测(在服务器上)
|
||||
curl -I http://127.0.0.1:8082
|
||||
curl -I http://127.0.0.1:3000/api/docs
|
||||
```
|
||||
|
||||
**`ps` 为空**:说明从未成功 `up`,或构建被中断 — 重新执行 8.2 中的 `build` + `up`。
|
||||
**`ps` 为空**:说明从未成功部署,或构建被中断 — 重新执行 8.2 中的 `./scripts/deploy-first.sh`。
|
||||
|
||||
**终端被关掉**:构建可能仍在后台跑,也可能已失败;用上面命令查 `ps` 和 `/tmp/thebet365-build.log`。
|
||||
**终端被关掉**:构建可能仍在后台跑,也可能已失败;用上面命令查 `ps` 和容器日志。
|
||||
|
||||
### 8.6 从 zip 迁移到 Git(一次性)
|
||||
|
||||
@@ -508,8 +505,8 @@ pnpm db:seed
|
||||
|
||||
- 未加 `--env-file .env.docker` 时可能看不到本项目容器,请用:
|
||||
`docker compose -f docker-compose.prod.yml --env-file .env.docker ps`
|
||||
- 若仍为空:构建未完成或失败,重新 `build --no-cache` 再 `up -d`,见 **第八节 8.5**
|
||||
- 构建日志:`tail -50 /tmp/thebet365-build.log`
|
||||
- 若仍为空:构建未完成或失败,重新执行 `./scripts/deploy-first.sh`,见 **第八节 8.5**
|
||||
- 构建失败原因以部署脚本当前终端输出为准;容器启动失败再看 `docker compose logs`
|
||||
|
||||
### 10. 服务器 player 构建报 `ENOENT ... public/球员`
|
||||
|
||||
@@ -520,7 +517,7 @@ pnpm db:seed
|
||||
find packages/shared/public -mindepth 1 -maxdepth 1 -type d \
|
||||
! -name flags ! -name players -exec rm -rf {} +
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker build --no-cache player admin
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.docker up -d
|
||||
./scripts/deploy-update.sh --no-build
|
||||
```
|
||||
|
||||
### 11. 宝塔 Redis 里看到 `lottery-database-*` 等 key
|
||||
|
||||
Reference in New Issue
Block a user