Skip to content

ShowPilotFPP/ShowPilot-Lite

Repository files navigation

ShowPilot-Lite

Website Discord Facebook

FPP-resident build of ShowPilot. Runs on the same host as Falcon Player and provides voting, jukebox, and a now-playing display for visitors. Audio streaming is removed — this is the right pick for shows delivering audio externally (PulseMesh, FM transmitter, Icecast, etc.) where ShowPilot doesn't need to host audio bytes.

Migrating from Remote Falcon? ShowPilot's viewer page renderer is fully compatible with Remote Falcon templates. All the standard placeholders ({PLAYLISTS}, {NOW_PLAYING}, {JUKEBOX_QUEUE}, {NEXT_PLAYLIST}, {QUEUE_DEPTH}, {LOCATION_CODE}, etc.) and mode containers ({playlist-voting-dynamic-container}, {jukebox-dynamic-container}, {after-hours-message}, {location-code-dynamic-container}) work identically. Paste your existing Remote Falcon viewer HTML into ShowPilot's editor and it just works — no template rewrite needed. If something doesn't render quite right out of the box (older RF templates sometimes lack a few of the toast hooks or the after-hours setup ShowPilot expects), drop your HTML into the RF Template Converter — it adds the missing pieces, flags layout traps, and gives you back a paste-ready ShowPilot template.

What's different from ShowPilot main

ShowPilot ShowPilot-Lite
Where it runs LXC / Docker / VM / bare metal On FPP itself (same Pi/BBB as the player)
Audio streaming to viewers ✅ HTTP audio + cache + sync ❌ Removed — pair with PulseMesh / FM / Icecast
Voting / Jukebox
Now-playing display ✅ (with optional player controls) ✅ (display-only bar, auto-shows when playing)
Backup / restore
Plugin sync (sequences, status)
Cover art (Spotify)
Footprint on FPP's SD card n/a (runs elsewhere) Tiny — no audio cache, no audio bytes

If you need HTTP audio for viewers (cars without FM, etc.), use the full ShowPilot on a separate host. If your audio reaches viewers another way, Lite gives you everything else without putting audio I/O on FPP's SD card.

Install

ShowPilot-Lite installs as an FPP plugin. From FPP's web UI:

  1. Open Content Setup → Plugin Manager
  2. Either find ShowPilot-Lite in the list (once published to the FPP plugin registry), or scroll to the Manual Add section and paste:
    https://raw.githubusercontent.com/ShowPilotFPP/ShowPilot-Lite/main/pluginInfo.json
    
  3. Click Install. FPP will clone the repo and run the install script, which:
    • Installs Node 18 from NodeSource if not already present
    • Compiles native dependencies (better-sqlite3)
    • Sets up a data directory at /home/fpp/media/plugindata/ShowPilot-Lite/ (backed up by FPP's own backup feature)
    • Drops a systemd unit and starts the service on port 3100
  4. After install completes, click Restart FPPD when prompted, then look for the ShowPilot-Lite entry under FPP's Content Setup menu — it opens the admin UI in a new tab.
  5. First login: admin / admin. You'll be prompted to set a password immediately.

Manual install (for development / non-plugin-manager use)

If you want to run Lite outside FPP's plugin manager:

# 1. Install Node 18 if not present
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# 2. Clone and install
git clone https://github.com/ShowPilotFPP/ShowPilot-Lite.git
cd ShowPilot-Lite
npm install --omit=dev

# 3. Copy config template, edit if needed
cp config.example.js config.js

# 4. Run
node server.js

Pairing with PulseMesh

ShowPilot-Lite assumes audio reaches viewers via something other than itself. PulseMesh is the obvious pick — it handles RF audio distribution at a quality and scale this software can't. Configure PulseMesh per its own docs; ShowPilot-Lite handles the voting / jukebox / display side.

Configuration

Edit config.js. Defaults are sensible for FPP-on-LAN deployments. Notable settings:

  • port — defaults to 3100
  • dbPath — defaults to ./data/showpilot-lite.db
  • jwtSecret and showToken — leave null to auto-generate; persisted to data/secrets.json after first boot
  • trustProxyfalse if you expose port 3100 directly, 1 if you put nginx/Caddy in front

License

MIT. See LICENSE.

About

This repo is for the FPP hosted version of ShowPilot. It has all audio functionality removed.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors