Files
gitlab-instance-0a899031_do…/docs/ARCHITECTURE.md
2026-03-28 13:27:53 -05:00

46 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`)。