3.6 KiB
3.6 KiB
Linux Install Profiles
Quick Start
Use one of these entrypoints from the repo root on Debian, Ubuntu, or Armbian:
sudo bash install-hub.sh
sudo bash install-business.sh
sudo bash install-all.sh
What Each Script Does
install-hub.sh
Use this when the Linux device should become the reusable super hub first.
- Creates and refreshes the
liveaccount - Installs the shared control plane runtime
- Enables
live.local - Creates the default Wi-Fi profile
live / 12345678whenwlan0exists - Installs ShellCrash, WebTTY, Cockpit, File Browser, Homepage, and Netdata
- Installs the Android web panel based on
web-scrcpy - Builds the web console and enables
live-console.service
install-business.sh
Use this when the device should only run the Douyin or YouTube business stack.
- Creates and refreshes the
liveaccount - Installs the shared control plane runtime
- Installs ffmpeg, mpv, ADB, Chromium
- Installs the Android web panel based on
web-scrcpy - Starts SRS
- Builds the web console and enables
live-console.service - Generates the hardware profile for adaptive ARM or X86 defaults
PM2:单频道与多频道 Pro(Linux ARM / x86_64)
- 单频道:在项目根启用一个业务进程即可,例如取消注释
ecosystem.config.cjs里的youtube或tiktok,执行pm2 start ecosystem.config.cjs && pm2 save。 - 多频道 Pro:每路直播需要独立的
config/youtube.ini与config/URL_config.ini(或整份独立工作目录)。为第二路及以后各复制一份目录(或符号链接脚本外的配置),在 PM2 里为每个 app 设置不同的cwd,name与 Web 控制台 Pro 线路建议名一致(如youtube2__<channelId>)。 - 硬件编码:
sudo python3 scripts/hardware_probe.py --write会写入config/hardware.env与hardware-profile.json;推流侧可选LIVE_VIDEO_ENCODER(RKMPP / V4L2M2M / VA-API / QSV 等,见config/hardware.env.example)。NVIDIA 一般由douyin_youtube_ffplay.py自动走 NVENC。 - 音频链:与 GitLab 分支
ffmpegAudioRMFoode中douyin_youtube_ffplay.py的 FFmpeg 处理思路一致(fast_audio、arnndn、EQ 等);当前主线在 Linux 上还包含板载编码探测与推流稳定性增强,以前端无需对齐 Electron 为准。
install-all.sh
Use this when the node should be both the super hub and the livestream business node.
- Runs
install-hub.sh - Runs
install-business.sh - Reuses shared modules instead of replacing them
Shared Config
All install profiles read the same shared file:
config/system-stack.env
If the file does not exist, the installer copies:
config/system-stack.env.example
This keeps host identity, ports, Wi-Fi, ShellCrash path, and module toggles centralized.
Default Access URLs
With the default hostname and ports, a fresh hub exposes:
http://live.local:8001main control planehttp://live.local:8001/shellcrashShellCrash editor routehttp://live.local:8001/androidAndroid device center routehttp://live.local:7681WebTTYhttp://live.local:8082File Browser, default loginlive / 12345678http://live.local:19999Netdata
The ShellCrash and Android pages are separate routes on purpose, so they can be bookmarked directly instead of sharing the same tabbed root URL.
Separation Rules
- The hub profile must keep working without SRS.
- The business profile must keep working without Cockpit, Homepage, File Browser, or Netdata.
- The control plane should show degraded modules as unavailable instead of crashing.
- Every service must be removable by systemd or compose boundaries.