Files
gitlab-instance-0a899031_do…/docs/install-profiles.md
2026-03-28 17:16:38 -05:00

3.6 KiB
Raw Permalink Blame History

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 live account
  • Installs the shared control plane runtime
  • Enables live.local
  • Creates the default Wi-Fi profile live / 12345678 when wlan0 exists
  • 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 live account
  • 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单频道与多频道 ProLinux ARM / x86_64

  • 单频道:在项目根启用一个业务进程即可,例如取消注释 ecosystem.config.cjs 里的 youtubetiktok,执行 pm2 start ecosystem.config.cjs && pm2 save
  • 多频道 Pro:每路直播需要独立的 config/youtube.iniconfig/URL_config.ini(或整份独立工作目录)。为第二路及以后各复制一份目录(或符号链接脚本外的配置),在 PM2 里为每个 app 设置不同的 cwdname 与 Web 控制台 Pro 线路建议名一致(如 youtube2__<channelId>)。
  • 硬件编码sudo python3 scripts/hardware_probe.py --write 会写入 config/hardware.envhardware-profile.json;推流侧可选 LIVE_VIDEO_ENCODERRKMPP / V4L2M2M / VA-API / QSV 等,见 config/hardware.env.example。NVIDIA 一般由 douyin_youtube_ffplay.py 自动走 NVENC。
  • 音频链:与 GitLab 分支 ffmpegAudioRMFoodedouyin_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:8001 main control plane
  • http://live.local:8001/shellcrash ShellCrash editor route
  • http://live.local:8001/android Android device center route
  • http://live.local:7681 WebTTY
  • http://live.local:8082 File Browser, default login live / 12345678
  • http://live.local:19999 Netdata

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.