VOL. I  ·  NO. 
SUB/WAVE
ON AIR
No skips · No shuffle · Just radio

SELF-HOSTED · OPEN SOURCE

Run your own SUB/WAVE.

≈ 10 min · 4 commands · needs Navidrome + an LLM

SUB/WAVE points at your Navidrome library and your LLM, which is a local Ollama box by default, or any hosted provider you like. Once it's running, the AI DJ broadcasts from your homelab, picks tracks from your own collection, and takes requests from anyone you share the URL with.

THE FAST PATH

Already have Docker, Navidrome, and an LLM reachable? One curl, two Enters, and the station is on the air. The installer chains straight into init and start, then setup finishes the configuration.

curl -fsSL https://cli.getsubwave.com | sh
subwave setup

The installer drops the subwave binary, then prompts Run subwave init now? Say yes and it walks the install dir (default ~/subwave), deployment shape (prod / prod-byo), and admin credentials. init ends with Bring the stack up now? Yes again brings up Docker. Then setup prompts for Navidrome and your LLM, persists everything, and renders the station jingles. Full walkthrough →

After that, subwave status / logs / doctor / restart / update run the station from any shell. No cd into a project dir, no clone needed. Prefer plain docker compose? Manual Install covers that path.

IF YOU'RE NEW HERE

Start at Prerequisites.

SUB/WAVE talks to services it doesn't ship, so a couple of things need to be running first. Prerequisites covers them. Then pick whichever install path suits you. They all end up at the same place:

  • Quick Start: The standalone CLI. Install once, then init / setup / start.
  • Manual Install: No CLI on your host: plain docker compose, same result.
  • Development: Working on SUB/WAVE itself: the three compose files and hot reload.

Just want to listen to a station, not run one? The manual covers tuning in and making requests.