增加可选frpc内网穿透部署配置
- 在 Docker Compose 中新增 frpc 可选服务,默认不启动,仅在 --profile frpc 启用时运行。 - 新增 docker/frpc/frpc.toml 模板,按前端、后端 API/WebSocket、MinIO 三个端口提供 TCP 映射示例。 - 在 frpc.toml 中用 # XXXX 标注 frps 地址、端口、token 和远端映射端口等需要按环境修改的配置。 - 更新 README,补充内置 frpc 与 frpc/frps + NPM 公网域名部署流程、启动命令和日志查看命令。
This commit is contained in:
62
README.md
62
README.md
@@ -250,6 +250,68 @@ seg-minio.example.com -> MinIO 图片/帧图/缩略图
|
||||
内网部署机器 9000 -> 公网服务器本机 19000 -> NPM: seg-minio.example.com
|
||||
```
|
||||
|
||||
### 可选:使用部署包内置 frpc
|
||||
|
||||
部署包已经包含可选 frpc 容器配置,默认不会启动。需要使用时,先编辑:
|
||||
|
||||
```text
|
||||
docker/frpc/frpc.toml
|
||||
```
|
||||
|
||||
文件中用 `# XXXX` 标出的地方需要按你的 frps 服务端配置修改:
|
||||
|
||||
```toml
|
||||
# XXXX 公网 frps 服务器地址
|
||||
serverAddr = "XX.XX.XX.XX"
|
||||
|
||||
# XXXX 公网 frps 服务端口,必须与 frps 的 bindPort 一致
|
||||
serverPort = 7000
|
||||
|
||||
# XXXX 必须替换为 frps 服务端配置中的 token
|
||||
auth.token = "XXXXX"
|
||||
```
|
||||
|
||||
默认模板已经配置了三个 TCP 代理:
|
||||
|
||||
```text
|
||||
seg-frontend: 内部 frontend:80 -> 远端 13000
|
||||
seg-backend: 内部 backend:8000 -> 远端 18000
|
||||
seg-minio: 内部 minio:9000 -> 远端 19000
|
||||
```
|
||||
|
||||
frpc 容器和系统服务在同一个 Docker Compose 网络里,所以 `localIP` 推荐保持为 `frontend`、`backend`、`minio` 这些服务名;如果改成宿主机或其他内网 IP,也可以按你的实际网络调整。
|
||||
|
||||
启用内置 frpc 的 CPU 版启动命令:
|
||||
|
||||
```bash
|
||||
docker compose --profile frpc up -d --build
|
||||
```
|
||||
|
||||
启用内置 frpc 的 GPU 版启动命令:
|
||||
|
||||
```bash
|
||||
docker compose --profile frpc -f docker-compose.yml -f docker-compose.gpu.yml up -d --build
|
||||
```
|
||||
|
||||
只重启 frpc:
|
||||
|
||||
```bash
|
||||
docker compose --profile frpc up -d frpc
|
||||
```
|
||||
|
||||
查看 frpc 日志:
|
||||
|
||||
```bash
|
||||
docker compose --profile frpc logs -f frpc
|
||||
```
|
||||
|
||||
不带 `--profile frpc` 的普通启动命令不会启动 frpc:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d
|
||||
```
|
||||
|
||||
NPM 中配置三个 Proxy Host:
|
||||
|
||||
```text
|
||||
|
||||
@@ -126,6 +126,23 @@ services:
|
||||
backend:
|
||||
condition: service_healthy
|
||||
|
||||
frpc:
|
||||
image: snowdreamtech/frpc:latest
|
||||
container_name: seg-frpc
|
||||
restart: unless-stopped
|
||||
profiles:
|
||||
- frpc
|
||||
command: ["-c", "/etc/frp/frpc.toml"]
|
||||
volumes:
|
||||
- ./docker/frpc/frpc.toml:/etc/frp/frpc.toml:ro
|
||||
depends_on:
|
||||
backend:
|
||||
condition: service_healthy
|
||||
frontend:
|
||||
condition: service_started
|
||||
minio:
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
minio-data:
|
||||
|
||||
45
docker/frpc/frpc.toml
Normal file
45
docker/frpc/frpc.toml
Normal file
@@ -0,0 +1,45 @@
|
||||
# frpc template for Seg_Server_Docker.
|
||||
# This file is not used by default. Enable it with the Docker Compose "frpc" profile
|
||||
# after replacing every "# XXXX" placeholder below.
|
||||
|
||||
# 基础连接配置
|
||||
# XXXX 公网 frps 服务器地址,例如 "1.2.3.4" 或 "frps.example.com"
|
||||
serverAddr = "XX.XX.XX.XX"
|
||||
# XXXX 公网 frps 服务端口,必须与 frps 的 bindPort 一致
|
||||
serverPort = 7000
|
||||
|
||||
# 权限验证 - 必须与服务端一致
|
||||
auth.method = "token"
|
||||
# XXXX 必须替换为 frps 服务端配置中的 token
|
||||
auth.token = "XXXXX"
|
||||
|
||||
# 传输配置优化
|
||||
transport.poolCount = 5
|
||||
transport.heartbeatTimeout = -1
|
||||
|
||||
# --- 映射前端访问端口 ---
|
||||
# XXXX NPM 可反代公网服务器本机 remotePort 13000 到 seg.example.com
|
||||
[[proxies]]
|
||||
name = "seg-frontend"
|
||||
type = "tcp"
|
||||
localIP = "frontend"
|
||||
localPort = 80
|
||||
remotePort = 13000
|
||||
|
||||
# --- 映射后端 API + WebSocket 端口 ---
|
||||
# XXXX NPM 可反代公网服务器本机 remotePort 18000 到 seg-api.example.com,并开启 WebSocket Support
|
||||
[[proxies]]
|
||||
name = "seg-backend"
|
||||
type = "tcp"
|
||||
localIP = "backend"
|
||||
localPort = 8000
|
||||
remotePort = 18000
|
||||
|
||||
# --- 映射 MinIO 图片/帧图/缩略图端口 ---
|
||||
# XXXX NPM 可反代公网服务器本机 remotePort 19000 到 seg-minio.example.com
|
||||
[[proxies]]
|
||||
name = "seg-minio"
|
||||
type = "tcp"
|
||||
localIP = "minio"
|
||||
localPort = 9000
|
||||
remotePort = 19000
|
||||
Reference in New Issue
Block a user