ss
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
- 抖音直播间 → YouTube Live:支持单频道 / 多频道同时推流,每个任务独立 `youtube.ini`、`URL_config` 与 PM2 进程
|
||||
- TikTok 直播:支持视频流转发到硬件 HDMI,也可配合 SRS / OBS 接流后再转发
|
||||
- Neko 浏览器:默认保留管理员会话、开发者工具与 Tampermonkey 持久化
|
||||
- Neko 浏览器:默认保留管理员会话、开发者工具与 Tampermonkey 持久化;按 `NEKO_INSTANCE_COUNT` 动态生成独立容器,默认保底 2 个,YouTube PRO 频道保存会自动提升容量
|
||||
- 兼容架构:Linux `x86_64` / `arm64`,使用一键脚本部署,控制面板默认域名 `live.local`
|
||||
|
||||
## Linux Unmanned Live Profiles
|
||||
@@ -18,7 +18,7 @@ This fork now includes a modular Linux deployment layout for ARM and X86 nodes.
|
||||
### Live Platform(四层架构)
|
||||
|
||||
- **配置中心**:`/opt/live/config`(模板见 `live-platform/config/defaults/`,开发时回退到仓库内同路径)
|
||||
- **一键脚本**:`./install-core.sh`(系统 + 基础服务,与业务解耦)、`./install-live.sh`(仅无人直播业务)、`./doctor.sh`(体检)
|
||||
- **一键脚本**:`install.sh` 是远程 bootstrap 入口,负责源码获取、日志、锁、安装分发与验收;`./install-core.sh`(系统 + 基础服务,与业务解耦)、`./install-live.sh`(仅无人直播业务)、`./doctor.sh`(体检)
|
||||
- **统一 API**:`GET /hub/dashboard`、`GET /hub/config` 等(见 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md))
|
||||
- **产品级 Web**:根路径 `/` 为无人直播系统控制台;`/console` 为高级全功能页
|
||||
|
||||
@@ -26,9 +26,28 @@ This fork now includes a modular Linux deployment layout for ARM and X86 nodes.
|
||||
- `install-business.sh`: Douyin / YouTube / HDMI business module with ffmpeg, mpv, ADB, Chromium, web-scrcpy and SRS
|
||||
- `install-all.sh`: installs both layers without tightly coupling them
|
||||
|
||||
### One-Line Install
|
||||
|
||||
Fresh Debian / Ubuntu / Armbian style hosts use the stream-safe bootstrapper:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://<public-bootstrap-host>/install.sh | bash
|
||||
```
|
||||
|
||||
The checked-in `install.sh` is the production contract for that URL: it writes logs to `/var/log/shd2ypp2`, uses `/run/lock/shd2ypp2-install.lock` to prevent concurrent installs, syncs the project to `/opt/live/d2ypp`, dispatches `scripts/linux/install_stack.sh all`, waits for `/health`, runs `/deploy/check`, and then runs `tools/verify_local_install.py`.
|
||||
|
||||
The current GitLab remote at `gitlab.nomadro.com` requires authentication for raw file and clone access from a fresh machine. Publish the same `install.sh` behind an unauthenticated HTTPS endpoint, or pass a credentialed/public source explicitly:
|
||||
|
||||
```bash
|
||||
LIVE_REPO_URL=http://gitlab.nomadro.com/gitlab-instance-0a899031/sh.git \
|
||||
LIVE_REPO_REF=best \
|
||||
curl -fsSL https://<public-bootstrap-host>/install.sh | bash -s -- --profile hub
|
||||
```
|
||||
|
||||
Detailed docs:
|
||||
|
||||
- [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)
|
||||
- [`docs/HOMELAB_OPTIMIZATION_PLAN.md`](docs/HOMELAB_OPTIMIZATION_PLAN.md)
|
||||
- [`docs/install-profiles.md`](docs/install-profiles.md)
|
||||
- [`docs/super-hub-architecture.md`](docs/super-hub-architecture.md)
|
||||
|
||||
@@ -36,7 +55,7 @@ Detailed docs:
|
||||
|
||||
After `install-hub.sh` or `install-all.sh`, the default service map is:
|
||||
|
||||
- **`http://live.local`** (port 80, via **Caddy** `live-edge.service`) → same UI/API as the control plane
|
||||
- **`http://live.local`** (port 80, via **Caddy** `live-edge.service` + `live-edge-watch.service`) → same UI/API as the control plane
|
||||
- `http://live.local:8001` for direct access to FastAPI (no edge proxy)
|
||||
- `http://live.local/shellcrash` or `:8001/shellcrash` — ShellCrash 编辑器
|
||||
- `http://live.local/android` or `:8001/android` — 安卓中心
|
||||
@@ -51,6 +70,7 @@ After deployment, validate the real delivery path instead of only checking one p
|
||||
|
||||
- `sudo bash doctor.sh`
|
||||
- `sudo bash probe-live.sh`
|
||||
- `python3 tools/verify_local_install.py --install-dir /opt/live/d2ypp`
|
||||
- `python3 tools/verify_live_console.py` with `LIVE_DEPLOY_HOST / LIVE_DEPLOY_USER / LIVE_DEPLOY_PASS` when verifying a remote node
|
||||
|
||||
The control plane exposes `GET /deploy/check` for a structured report covering `live.local`, `:80`, `:8001`, LAN IP binding, exported web assets, and `system-stack.env`.
|
||||
|
||||
Reference in New Issue
Block a user