Add public four-digit port access
这个提交包含在:
@@ -69,6 +69,7 @@ pnpm exec playwright install chromium
|
|||||||
1. 宿主机 nginx 处理 `80/443` 和 TLS
|
1. 宿主机 nginx 处理 `80/443` 和 TLS
|
||||||
2. `docker compose up -d --build` 启动 `app + media + worker + db`
|
2. `docker compose up -d --build` 启动 `app + media + worker + db`
|
||||||
3. nginx 将 `/` 转发到宿主机 `127.0.0.1:3002 -> app:3000`,`/media/` 转发到 `127.0.0.1:8081 -> media:8081`
|
3. nginx 将 `/` 转发到宿主机 `127.0.0.1:3002 -> app:3000`,`/media/` 转发到 `127.0.0.1:8081 -> media:8081`
|
||||||
|
4. 如需绕过 nginx 直连调试,也可通过公网 4 位端口访问主站:`http://te.hao.work:8302/`
|
||||||
|
|
||||||
详细步骤见:
|
详细步骤见:
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ services:
|
|||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:3002:3000"
|
- "127.0.0.1:3002:3000"
|
||||||
|
- "8302:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- app-data:/data/app
|
- app-data:/data/app
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
- `db` 容器:MySQL 8,数据持久化到 `db-data`
|
- `db` 容器:MySQL 8,数据持久化到 `db-data`
|
||||||
- `migrate` 容器:一次性执行 Drizzle 迁移,成功后退出
|
- `migrate` 容器:一次性执行 Drizzle 迁移,成功后退出
|
||||||
- `app` 容器:Node 应用,端口 `3000`
|
- `app` 容器:Node 应用,端口 `3000`
|
||||||
|
- 宿主机公开调试端口:`8302 -> app:3000`
|
||||||
- `media` 容器:Go 媒体服务,端口 `8081`
|
- `media` 容器:Go 媒体服务,端口 `8081`
|
||||||
- `worker` 容器:Go 媒体归档 worker,共享媒体卷
|
- `worker` 容器:Go 媒体归档 worker,共享媒体卷
|
||||||
- `app-data` 卷:上传视频等本地文件存储
|
- `app-data` 卷:上传视频等本地文件存储
|
||||||
@@ -51,8 +52,14 @@ systemctl reload nginx
|
|||||||
## Health checks
|
## Health checks
|
||||||
|
|
||||||
- `curl http://127.0.0.1:3002/api/trpc/auth.me`
|
- `curl http://127.0.0.1:3002/api/trpc/auth.me`
|
||||||
|
- `curl http://te.hao.work:8302/`
|
||||||
- `curl http://127.0.0.1:8081/media/health`
|
- `curl http://127.0.0.1:8081/media/health`
|
||||||
|
|
||||||
|
## External access links
|
||||||
|
|
||||||
|
- 主站 HTTPS:`https://te.hao.work/`
|
||||||
|
- 主站公网 4 位端口直连:`http://te.hao.work:8302/`
|
||||||
|
|
||||||
## Persistent data
|
## Persistent data
|
||||||
|
|
||||||
媒体数据默认位于 Docker volume `media-data` 下,目录结构:
|
媒体数据默认位于 Docker volume `media-data` 下,目录结构:
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
| 项目 | 验证方式 | 状态 |
|
| 项目 | 验证方式 | 状态 |
|
||||||
|------|----------|------|
|
|------|----------|------|
|
||||||
| `https://te.hao.work/` HTTPS 访问 | `curl -I https://te.hao.work/` | 通过 |
|
| `https://te.hao.work/` HTTPS 访问 | `curl -I https://te.hao.work/` | 通过 |
|
||||||
|
| `http://te.hao.work:8302/` 4 位端口访问 | `curl -I http://te.hao.work:8302/` | 通过 |
|
||||||
| 站点 TLS 证书 | Let’s Encrypt ECDSA 证书已签发并由宿主机 nginx 加载 | 通过 |
|
| 站点 TLS 证书 | Let’s Encrypt ECDSA 证书已签发并由宿主机 nginx 加载 | 通过 |
|
||||||
| 生产首页、登录页、录制页浏览器打开 | Playwright 访问 `https://te.hao.work/`、`/login`、`/recorder` | 通过 |
|
| 生产首页、登录页、录制页浏览器打开 | Playwright 访问 `https://te.hao.work/`、`/login`、`/recorder` | 通过 |
|
||||||
| 生产前端运行时异常检查 | Playwright `pageerror` / `console.error` 检查 | 通过 |
|
| 生产前端运行时异常检查 | Playwright `pageerror` / `console.error` 检查 | 通过 |
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户