# Linux Install Profiles ## Quick Start Use one of these entrypoints from the repo root on Debian, Ubuntu, or Armbian: ```bash 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 ### `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.