Skip to content

About

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

Resources

Stars

0 stars

Watchers

1 watching

Forks

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 (MusicBrainz / iTunes) ✅ ✅
Song progress bar on the viewer page ✅ ✅
Visitor messages to the show ({MESSAGE_BOX}), optional message wall ({MESSAGE_WALL}) ✅ ✅
Redesigned admin + customizable Cockpit tablet mode ✅ ✅
Public access via Cloudflare Tunnel ✅ ✅
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.

Requirements

  • FPP 8.0 or newer on the Pi / BeagleBone that will run Lite
  • Internet access during install (Node.js and dependencies are downloaded)

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 22 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 (plus a small helper service used for the optional Cloudflare Tunnel)
  4. After install completes, restart FPPD if FPP prompts you to, then choose ShowPilot-Lite Admin under FPP's Content Setup menu to open the admin.
  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 22 if not present
curl -fsSL https://deb.nodesource.com/setup_22.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
  • trustProxy — false if you expose port 3100 directly, 1 if you put nginx/Caddy in front

Anonymous install count

Once a day ShowPilot-Lite sends an anonymous check-in so we know how many installs are running and which versions they use. It sends only a random ID made on your install, the product name and the version. No show name, URL, IP address or settings, and nothing is sent back. You can see the exact message in Settings → General → Install count.

  • Turn it off: untick Count this install there, or set installCount: false in config.js, or set the environment variable SHOWPILOT_NO_INSTALL_COUNT=1. DO_NOT_TRACK=1 also works.
  • Show map (optional, off by default): pick Country, State / region or Town to put your show on the public map. ShowPilot-Lite still sends no location; the counter uses an approximate lookup of the connection and keeps only the level you chose.

License

MIT. See LICENSE.

About

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

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages