Files
storyforge/deploy/STORYFORGE_PUBLIC_GATEWAY.md

71 lines
2.8 KiB
Markdown

# StoryForge `storyforge.hyzq.net` 公网入口
当前公网接入不是把执行链整体迁到云服务器,而是:
1. 云服务器 `nginx` 提供 `https://storyforge.hyzq.net/`
2. 云服务器本地 `storyforge-web-v4.service` 承接静态前端
3. 云服务器本地 `collector-service` 直接承接业务 API 与数据库
4. 本机通过 SSH 反向隧道只桥接本地和局域网执行引擎到云服务器
当前已验证的 SSH 维护入口:
- `ubuntu@111.231.132.51`
- 公网部署目录:`/home/ubuntu/storyforge`
- systemd 服务:
- `storyforge-web-v4`
- `storyforge-collector`
- `nginx`
## 端口映射
- 云服务器 `127.0.0.1:8081` -> 云服务器本地 `collector-service`
- 云服务器 `127.0.0.1:19191` -> 云服务器本地 `StoryForge Web V4` 静态服务
- 云服务器 `127.0.0.1:15670` -> 本机 `n8n :5670`
- 云服务器 `127.0.0.1:18317` -> 本机模型网关 `:8317`
- 云服务器 `127.0.0.1:18088` -> 本机 `ASR :8088`
- 云服务器 `127.0.0.1:15678` -> 本机 `huobao :5678`
- 云服务器 `127.0.0.1:17860` -> 局域网 Windows `cutvideo :7860`
- 云服务器 `127.0.0.1:19106` -> 局域网 NAS `live-recorder :19106`
## 本机常驻服务
- `com.storyforge.cloud-bridge`
- 本机 `com.storyforge.collector` 可保留为本地开发,不再是公网必需项
- 本机 `com.storyforge.web-v4` 仍可保留为本地预览,不再是公网必需项
## 云服务器 `nginx` 路由
- `/` -> `127.0.0.1:19191`
- `/v2/*` -> `127.0.0.1:8081`
- `/openapi.json` -> `127.0.0.1:8081/openapi.json`
- `/healthz` -> `127.0.0.1:8081/healthz`
- `/downloads/*` -> `127.0.0.1:8081/downloads/*`
## 当前优点
- `collector-service` 和数据库已经上云,公网主链不再依赖本机业务 API
- 不需要把 `cutvideo / huobao / NAS live-recorder / 本机模型` 全部搬上云
- 公网入口统一
- 前端静态页不再依赖本机桥接
- 本地和局域网执行层不需要迁移即可继续提供能力
## 当前限制
- 本地桥接断开时,相关执行引擎会不可用,但登录和基础业务 API 仍可用
- 这仍是混合部署测试架构,不是最终完全云原生部署
## 标准化发布与回归
仓库内已经补了两个标准脚本:
```bash
./scripts/deploy_public_storyforge.sh
./scripts/smoke_public_storyforge.sh
```
说明:
- `deploy_public_storyforge.sh` 会备份远端 `web/storyforge-web-v4`,同步当前仓库的前端和 `collector-service/app`,重启 `storyforge-web-v4` / `storyforge-collector`,最后做公网 smoke。
- `smoke_public_storyforge.sh` 会检查公网 `/healthz``/``/assets/app.js``/openapi.json`,确认最新 Web bundle 与多平台路由都已经对外可见。
- 默认 SSH 口令可通过 `STORYFORGE_PUBLIC_PASSWORD` 传入,或从 macOS Keychain 的 `STORYFORGE_PUBLIC_KEYCHAIN_SERVICE` 读取;当前本机可沿用现有 `ai-glasses-debug-ssh` 条目。