SETUP · 02
Two hands-off paths to a running stack. The wizard asks a few questions and does the rest. The agent skill does the same from one sentence in your AI coding tool. Either way, the radio ends up on the air.
PATH A · STANDALONE CLI
Drops a subwave binary on your host (no Node required), then chains straight into init and start. By the time the installer finishes, Docker is up and the controller reports on-air. That leaves setup, which handles configuration rather than lifecycle.
TWO COMMANDS
curl -fsSL https://cli.getsubwave.com | shsubwave setupThe installer prompts Run subwave init now? Say yes and init asks where to install (default ~/subwave), deployment shape (prod / prod-byo), and admin credentials. It ends with Bring the stack up now? Say yes again and subwave start runs silently against the env init just picked. After that, setup asks for your Navidrome, LLM, and DJ persona settings and renders jingles. From then on, subwave start / stop / logs / doctor run the station from anywhere on your shell.
DEV
docker-compose.dev.yml./statenext dev on :7700PRODUCTION
docker-compose.yml with --build:7700./state (or STATE_DIR); re-run with sudo if it isn't writableExisting env values stay put unless you ask to reconfigure, so the wizard also works for bringing an existing stack back up.
PATH B · AI CODING AGENT
The repo ships an agent skill that handles setup, deploy, and update. It pings Navidrome and Ollama, boots the stack, generates jingles, and checks that the stream is on-air. It works with Claude Code, Codex, Cursor, or anything else that reads AGENTS.md.
Clone the repo and open your agent in it:
git clone https://github.com/perminder-klair/subwave.git
cd subwaveThen ask your agent one of: “set up subwave”, “deploy subwave”, or “pull and restart”.
On updates the same skill works out which services actually changed and rebuilds only those. Liquidsoap and the Controller COPY their source at build time, so a plain docker compose restart quietly runs stale code. The skill won't make that mistake.
ONCE IT'S ON THE AIR
The setup wizard is one screen of the operator console. Run npm start from the repo any time to open it. From the menu you can check the stack, run diagnostics, tail logs, restart a service, or open the web player and admin.
npm start