# crypto_okx_hub 部署文档 **仓库:** [https://git.bz121.com/dekun/crypto_okx_hub.git](https://git.bz121.com/dekun/crypto_okx_hub.git) 配套说明:**[使用说明.md](./使用说明.md)** · **[设计文档.md](./设计文档.md)** 关联客户端仓库:[crypto_okx](https://git.bz121.com/dekun/crypto_okx.git) > 第一期骨架已可用:登录、登记实例、总览拉快照、工作台内嵌/新标签(SSO)。 --- ## 1. 部署拓扑(推荐) ``` [局域网 PC 或一台云机] [云服务器 A] [云服务器 B] crypto_okx_hub ──拉快照──▶ crypto_okx crypto_okx (中控只一份) 公网域名 A 公网域名 B HUB_BRIDGE_TOKEN=xxx HUB_BRIDGE_TOKEN=yyy ``` - 客户端:**必须**能被浏览器与中控以 **公网域名(建议 HTTPS)** 访问。 - 中控:可局域网;需能访问各客户端公网 URL。 --- ## 2. 中控环境变量(草案) 实现后提供 `.env.example`,核心项预计包括: | 变量 | 说明 | |------|------| | `APP_HOST` / `APP_PORT` | 例如 `0.0.0.0` / `5100` | | `HUB_USERNAME` / `HUB_PASSWORD` | 中控登录 | | `FLASK_SECRET_KEY` | Session | | `DB_PATH` | 注册表 SQLite,默认 `./hub.db` | | `HUB_PULL_INTERVAL_SEC` | 总览拉取间隔,默认 `10` | | `HUB_PULL_TIMEOUT_SEC` | 单机超时,默认 `5` | **不要**在中控配置任何 `OKX_API_*`。 --- ## 3. 客户端侧(crypto_okx)联调清单 在每台客户端 `.env`(名称以实现为准): | 变量 | 说明 | |------|------| | `HUB_BRIDGE_TOKEN` | 与中控登记的 Token 一致,足够长随机串 | | (可选)`HUB_EMBED_FRAME_ANCESTORS` | 允许嵌入的中控 Origin | 并确认: 1. 公网 DNS → 该机;反向代理 HTTPS。 2. 快照 API 返回 `ok: true`(见设计文档 §6)。 3. Embed 路径可打开(默认倾向 `/embed`)。 防火墙可选:仅放行中控出口 IP 访问 `/api/hub/*`。 --- ## 4. 安装步骤(实现后) 本地 / 局域网示意: ```bash git clone https://git.bz121.com/dekun/crypto_okx_hub.git cd crypto_okx_hub python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # 编辑账号端口 python app.py ``` 访问:`http://<中控局域网IP>:` 生产可用 PM2(实现后提供 `ecosystem.config.cjs`),安装路径建议 `/opt/crypto_okx_hub`。 --- ## 5. 联调验收 1. 中控添加 2 个客户端(不同公网域名 + Token)。 2. 总览两卡均在线,持仓/浮盈与客户端页面大致一致。 3. 「打开」内嵌可见期权页;「新标签」独立打开。 4. `pm2 stop` 一台客户端后,总览该卡变离线,另一台正常。 --- ## 6. 与客户端部署文档的关系 - 客户端安装、PM2、实盘密钥:见 **crypto_okx** 仓库内 [部署文档.md](https://git.bz121.com/dekun/crypto_okx/src/branch/main/部署文档.md) 等。 - 本仓库只描述 **中控自身** 及如何指向已部署的客户端。 --- ## 变更记录 | 日期 | 说明 | |------|------| | 2026-10-01 | 初稿:双仓拓扑、env 草案、联调清单(代码待实现) |