Add QNAP NAS compose deployment
- Add docker-compose-Nas.yaml for QNAP/威联通 deployment with NAS persistent data paths, API aliasing, and health checks tailored for NAS firmware. - Parameterize NAS ports, data root, database credentials, proxy variables, CORS, session security, TRUST_PROXY, migrations, and seed settings. - Include an optional frpc profile in the NAS compose file so port 4002 can be exposed through the existing frpc/frpc.toml workflow. - Document NAS startup, health checks, public HTTPS settings, proxy settings, and frpc commands in README. - Update Docker deployment documentation with the NAS compose workflow and the reminder to expose only 4002 publicly.
This commit is contained in:
49
README.md
49
README.md
@@ -250,6 +250,55 @@ docker-compose down
|
||||
- `nginx.conf` 已支持 `/api/speech/iat` WebSocket upgrade。
|
||||
完整 Docker 说明见 [docs/docker.md](./docs/docker.md)。
|
||||
|
||||
## 威联通 NAS 部署
|
||||
|
||||
<!-- # XXX NAS 部署新增:适用于 QNAP/威联通 Container Station 或 NAS 终端 docker compose 部署。 -->
|
||||
|
||||
仓库提供 [docker-compose-Nas.yaml](./docker-compose-Nas.yaml),用于在威联通 NAS 上直接部署完整图文报告系统。它与默认 Compose 的主要区别:
|
||||
|
||||
- 使用 `/share/Container/tuwen_system_v2/data` 作为默认持久化目录。`# XXX` 如 NAS 共享目录不同,修改 `NAS_DATA_ROOT` 或 compose 文件中的路径。
|
||||
- API 默认映射到 NAS 宿主机 `4102`,前端仍映射到 `4002`。
|
||||
- 保留 `api` 网络别名,确保容器内 Nginx 可以继续把 `/api` 代理到后端。
|
||||
- 使用 `127.0.0.1` 做 API 健康检查,规避部分 NAS 固件上的 IPv6 localhost 解析问题。
|
||||
- 内置可选 `frpc` profile,可复用 [frpc/frpc.toml](./frpc/frpc.toml) 把 `4002` 映射到公网服务器。
|
||||
|
||||
NAS 终端部署:
|
||||
|
||||
```bash
|
||||
# XXX 进入 NAS 上的项目目录后执行。
|
||||
docker compose -f docker-compose-Nas.yaml up -d --build
|
||||
|
||||
curl http://127.0.0.1:4002/api/health
|
||||
docker compose -f docker-compose-Nas.yaml ps
|
||||
```
|
||||
|
||||
公网部署时建议先准备 NAS `.env` 或 Container Station 环境变量:
|
||||
|
||||
```bash
|
||||
# XXX 必改:生产环境不要继续使用默认 Session 密钥。
|
||||
SESSION_SECRET=替换为足够长的随机字符串
|
||||
|
||||
# XXX 如果公网入口是 https://sstwbg.example.com,建议开启这两项。
|
||||
SESSION_COOKIE_SECURE=true
|
||||
TRUST_PROXY=true
|
||||
CORS_ORIGIN=http://192.168.31.5:4002,https://sstwbg.example.com
|
||||
|
||||
# XXX 如需代理构建或让后端访问外网,可按 NAS 网络环境配置。
|
||||
HTTP_PROXY=http://192.168.31.7:7893
|
||||
HTTPS_PROXY=http://192.168.31.7:7893
|
||||
NO_PROXY=localhost,127.0.0.1,192.168.31.0/24,tuwen_db,tuwen_api,tuwen_web,api,db,web
|
||||
```
|
||||
|
||||
启用 NAS 上的 frpc 隧道:
|
||||
|
||||
```bash
|
||||
# XXX 先编辑 frpc/frpc.toml,替换 serverAddr 和 auth.token。
|
||||
docker compose -f docker-compose-Nas.yaml --profile frpc up -d --build
|
||||
docker compose -f docker-compose-Nas.yaml logs -f frpc
|
||||
```
|
||||
|
||||
`# XXX` NAS 公网访问仍然只需要把 `4002` 通过 frpc 映射到公网服务器,再由 Nginx Proxy Manager 给 `sstwbg.example.com` 提供 HTTPS。`4443` 仍只是本机自签名 HTTPS 演示入口,不建议映射到公网域名。
|
||||
|
||||
## 公网反向代理部署
|
||||
|
||||
<!-- # XXX 公网部署新增:适用于本机 Docker 4002 端口通过 frpc 映射到公网服务器,再由 Nginx Proxy Manager 绑定 sstwbg.example.com 的部署链路。 -->
|
||||
|
||||
Reference in New Issue
Block a user