Compare commits
1 Commits
deploy-hui
...
deploy-hui
| Author | SHA1 | Date | |
|---|---|---|---|
| ba14d00c4d |
12
README.md
12
README.md
@@ -245,7 +245,7 @@ docker-compose down
|
|||||||
- Docker 前端同时暴露 `http://localhost:4002` 和自签名证书的 `https://localhost:4443`;麦克风听写建议使用 HTTPS 演示入口。
|
- Docker 前端同时暴露 `http://localhost:4002` 和自签名证书的 `https://localhost:4443`;麦克风听写建议使用 HTTPS 演示入口。
|
||||||
- `api` 服务运行 NestJS 后端,启动时默认执行 `prisma migrate deploy` 和 `prisma db seed`,并把上传文件目录挂载到 `uploads_data` volume。
|
- `api` 服务运行 NestJS 后端,启动时默认执行 `prisma migrate deploy` 和 `prisma db seed`,并把上传文件目录挂载到 `uploads_data` volume。
|
||||||
- `db` 服务运行 PostgreSQL 16。
|
- `db` 服务运行 PostgreSQL 16。
|
||||||
- `frpc` 服务是可选公网隧道客户端。`# XXX` 默认通过 Compose profile 关闭,配置文件在 `frpc/frpc.toml`,需要映射到公网服务器时再启用。
|
- `frpc` 服务是可选公网隧道客户端。`# XXX` 默认 Docker Compose 通过 profile 关闭,配置文件在 `frpc/frpc.toml`;NAS 版为了适配 Container Station 图形界面会默认创建 `tuwen_frpc`,读取 `frpc/frpc.nas.toml`。
|
||||||
- `nginx.conf` 已配置 SPA 路由回退、`/api` 反向代理和 `100m` 请求体上限。
|
- `nginx.conf` 已配置 SPA 路由回退、`/api` 反向代理和 `100m` 请求体上限。
|
||||||
- `nginx.conf` 已支持 `/api/speech/iat` WebSocket upgrade。
|
- `nginx.conf` 已支持 `/api/speech/iat` WebSocket upgrade。
|
||||||
完整 Docker 说明见 [docs/docker.md](./docs/docker.md)。
|
完整 Docker 说明见 [docs/docker.md](./docs/docker.md)。
|
||||||
@@ -260,7 +260,7 @@ docker-compose down
|
|||||||
- API 默认映射到 NAS 宿主机 `4102`,前端仍映射到 `4002`。
|
- API 默认映射到 NAS 宿主机 `4102`,前端仍映射到 `4002`。
|
||||||
- 保留 `api` 网络别名,确保容器内 Nginx 可以继续把 `/api` 代理到后端。
|
- 保留 `api` 网络别名,确保容器内 Nginx 可以继续把 `/api` 代理到后端。
|
||||||
- 使用 `127.0.0.1` 做 API 健康检查,规避部分 NAS 固件上的 IPv6 localhost 解析问题。
|
- 使用 `127.0.0.1` 做 API 健康检查,规避部分 NAS 固件上的 IPv6 localhost 解析问题。
|
||||||
- 内置可选 `frpc` profile,可复用 [frpc/frpc.toml](./frpc/frpc.toml) 把 `4002` 映射到公网服务器。
|
- 默认创建 `tuwen_frpc` 容器,读取 [frpc/frpc.nas.toml](./frpc/frpc.nas.toml),把容器内 `tuwen_web:80` 映射到公网服务器;如果不需要公网映射,可删除或注释 `tuwen_frpc` 服务。
|
||||||
|
|
||||||
NAS 终端部署:
|
NAS 终端部署:
|
||||||
|
|
||||||
@@ -289,12 +289,12 @@ HTTPS_PROXY=http://PROXY_IP:PROXY_PORT
|
|||||||
NO_PROXY=localhost,127.0.0.1,LAN_CIDR,tuwen_db,tuwen_api,tuwen_web,api,db,web
|
NO_PROXY=localhost,127.0.0.1,LAN_CIDR,tuwen_db,tuwen_api,tuwen_web,api,db,web
|
||||||
```
|
```
|
||||||
|
|
||||||
启用 NAS 上的 frpc 隧道:
|
NAS 上的 frpc 隧道:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# XXX 先编辑 frpc/frpc.toml,替换 serverAddr 和 auth.token。
|
# XXX 先编辑 frpc/frpc.nas.toml,替换 serverAddr 和 auth.token。
|
||||||
docker compose -f docker-compose-Nas.yaml --profile frpc up -d --build
|
docker compose -f docker-compose-Nas.yaml up -d --build
|
||||||
docker compose -f docker-compose-Nas.yaml logs -f frpc
|
docker compose -f docker-compose-Nas.yaml logs -f tuwen_frpc
|
||||||
```
|
```
|
||||||
|
|
||||||
`# XXX` NAS 公网访问仍然只需要把 `4002` 通过 frpc 映射到公网服务器,再由 Nginx Proxy Manager 给 `your-domain.example` 提供 HTTPS。`4443` 仍只是本机自签名 HTTPS 演示入口,不建议映射到公网域名。
|
`# XXX` NAS 公网访问仍然只需要把 `4002` 通过 frpc 映射到公网服务器,再由 Nginx Proxy Manager 给 `your-domain.example` 提供 HTTPS。`4443` 仍只是本机自签名 HTTPS 演示入口,不建议映射到公网域名。
|
||||||
|
|||||||
@@ -98,17 +98,15 @@ services:
|
|||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 6
|
retries: 6
|
||||||
|
|
||||||
frpc:
|
tuwen_frpc:
|
||||||
# XXX 可选公网隧道客户端。启用前先编辑 frpc/frpc.toml。
|
# XXX 威联通 Container Station 通常不会启用 Compose profiles,所以 NAS 版默认启动 frpc。
|
||||||
|
# XXX 启用前先编辑 frpc/frpc.nas.toml;如果不需要公网映射,可删除/注释整个 tuwen_frpc 服务。
|
||||||
image: snowdreamtech/frpc:latest
|
image: snowdreamtech/frpc:latest
|
||||||
container_name: tuwen_frpc
|
container_name: tuwen_frpc
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
network_mode: host
|
|
||||||
command: ["frpc", "-c", "/etc/frp/frpc.toml"]
|
command: ["frpc", "-c", "/etc/frp/frpc.toml"]
|
||||||
volumes:
|
volumes:
|
||||||
- ./frpc/frpc.toml:/etc/frp/frpc.toml:ro
|
- ./frpc/frpc.nas.toml:/etc/frp/frpc.toml:ro
|
||||||
depends_on:
|
depends_on:
|
||||||
tuwen_web:
|
tuwen_web:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
profiles:
|
|
||||||
- frpc
|
|
||||||
|
|||||||
@@ -88,15 +88,15 @@ TRUST_PROXY=true
|
|||||||
CORS_ORIGIN=http://NAS_IP:4002,https://your-domain.example
|
CORS_ORIGIN=http://NAS_IP:4002,https://your-domain.example
|
||||||
```
|
```
|
||||||
|
|
||||||
启用 NAS 上的 frpc 隧道:
|
NAS 上的 frpc 隧道:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# XXX 先编辑 frpc/frpc.toml,替换 serverAddr 和 auth.token。
|
# XXX 先编辑 frpc/frpc.nas.toml,替换 serverAddr 和 auth.token。
|
||||||
docker compose -f docker-compose-Nas.yaml --profile frpc up -d --build
|
docker compose -f docker-compose-Nas.yaml up -d --build
|
||||||
docker compose -f docker-compose-Nas.yaml logs -f frpc
|
docker compose -f docker-compose-Nas.yaml logs -f tuwen_frpc
|
||||||
```
|
```
|
||||||
|
|
||||||
`# XXX` 公网正式入口只映射 `4002` 即可;不要把 `4443` 自签名 HTTPS 演示端口映射为公网域名入口。公网 HTTPS 应由 Nginx Proxy Manager 提供。
|
`# XXX` NAS 版为了适配 Container Station 图形界面会默认创建 `tuwen_frpc`,不依赖 Compose profile;如果不需要公网映射,可删除或注释 `docker-compose-Nas.yaml` 中的 `tuwen_frpc` 服务。公网正式入口只映射 `4002` 即可;不要把 `4443` 自签名 HTTPS 演示端口映射为公网域名入口。公网 HTTPS 应由 Nginx Proxy Manager 提供。
|
||||||
|
|
||||||
## 初始化开关
|
## 初始化开关
|
||||||
|
|
||||||
|
|||||||
23
frpc/frpc.nas.toml
Normal file
23
frpc/frpc.nas.toml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# XXX QNAP/NAS frpc template.
|
||||||
|
# XXX Replace serverAddr and auth.token before deploying; do not commit real production tokens.
|
||||||
|
# XXX This file is mounted by docker-compose-Nas.yaml. frpc connects to tuwen_web:80 inside Docker.
|
||||||
|
|
||||||
|
# 基础连接配置
|
||||||
|
serverAddr = "XX.XX.XX.XX"
|
||||||
|
serverPort = 7000
|
||||||
|
|
||||||
|
# 权限验证 - 必须与服务端一致
|
||||||
|
auth.method = "token"
|
||||||
|
auth.token = "XXX"
|
||||||
|
|
||||||
|
# 传输配置优化
|
||||||
|
transport.poolCount = 5
|
||||||
|
transport.heartbeatTimeout = -1
|
||||||
|
|
||||||
|
# --- 映射 图文系统访问端口 (TCP) ---
|
||||||
|
[[proxies]]
|
||||||
|
name = "TuWen_System_V2"
|
||||||
|
type = "tcp"
|
||||||
|
localIP = "tuwen_web"
|
||||||
|
localPort = 80
|
||||||
|
remotePort = 4002
|
||||||
Reference in New Issue
Block a user