This commit is contained in:
eric
2026-03-28 13:27:53 -05:00
parent d34ecab19c
commit 8053c4cb6d
48 changed files with 3527 additions and 1433 deletions

45
docs/ARCHITECTURE.md Normal file
View File

@@ -0,0 +1,45 @@
# Live Platform 四层架构
## 分层
| 层 | 职责 | 代码/路径 |
|----|------|-----------|
| Core OS | 用户、SSH、mDNS、WiFi、WebTTY、Docker、systemd、日志 | `scripts/linux/install_hub.sh` 及系统包 |
| Infra Service | ShellCrash、Caddy、Netdata、SRS、Neko、ws-scrcpy、FRP、WireGuard 占位 | `services/*``scripts/linux/service_ctl.sh` |
| Business | 无人直播 douyinyoutubeFFmpeg/HDMI/推流),可脱离控制台运行 | 仓库根业务脚本、`install-live.sh` |
| Web Console | 仅通过 API 与配置中心「控制」,不实现业务算法 | `web.py``web-console``/hub/*` API |
## 配置中心
- 安装目标:`/opt/live/config/`
- 默认模板:`live-platform/config/defaults/`
- 文件:`system.json``network.json``services/*.json``business/*.json`
- 生成兼容层:`live-platform/tools/render_stack_env.py``/opt/live/generated/system-stack.env`(供现有 shell 读取,逐步淘汰分散 `.env`
## 一键脚本(幂等)
| 脚本 | 作用 |
|------|------|
| `./install-core.sh` | 同步 JSON → `/opt/live/config`,生成 env调用 `install_hub.sh`(无业务) |
| `./install-live.sh` | 仅业务模块,调用 `install_business.sh` |
| `./doctor.sh` | 网络、端口、adb、ffmpeg、docker、API 健康检查 |
## API
- `GET /hub/dashboard`:快照 + 服务 + 安卓 + 直播进程状态
- `GET /hub/config`:配置中心只读聚合
- `POST /hub/business/douyinyoutube`:业务元数据(如抖音 URL 声明)
- 既有:`/service_action``/android/*``/process_monitor``/save_url_config`
## 前端
- `/``LiveControlApp` 产品壳(总览、服务、直播、安卓、网络、设置)
- `/console`:高级遗留控制台(全功能)
- 开发:`middleware``/hub` 代理到本机 FastAPI
## live.local无端口验收
- **`install_hub.sh` 末尾**执行 **`install_live_edge_proxy`**:安装/启用 **`live-edge.service`Caddy**,将 **`http://live.local`:80** 反代到 **`127.0.0.1:${PORT}`**(默认 8001
- **Homepage** 默认改绑 **`HOMEPAGE_PORT=3080`**,避免与 Caddy 抢 80。
- 仅更新反代:`sudo bash scripts/linux/reinstall_live_edge.sh`
- `ENABLE_LIVE_EDGE_PROXY=0` 可关闭(`system-stack.env`)。