SELF-HOSTED · OPEN SOURCE
SUB/WAVE points at your Navidrome library and a language model. The model 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 | shsubwave setupThe 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.
WHERE ARE YOU INSTALLING?
The install is the same everywhere: Docker, one host port, a wizard. What differs is the host: which runtime to install, how much memory the VM gets, which architecture the optional heavy images run on, and the firewall. Each page is the whole path start to finish, so you only need the one:
IF YOU'RE NEW HERE
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:
Just want to listen to a station, not run one? The manual covers tuning in and making requests.