VOL. I  ·  NO. 
SUB/WAVE
ON AIR

MANUAL · 07

The operator console.

SUB/WAVE ships a command-line console for running the station. One command opens a menu that boots the stack, checks its health, tails logs, and opens a terminal player — no Docker flags to remember.

PRESS START

One command opens the console.

From a SUB/WAVE checkout, run npm start. The console is a menu — arrow keys to move, Enter to choose, Esc to step back, Ctrl-C to quit.

npm start

First time through? If there’s no controller/.env yet, the console drops you straight into the install wizard — the same one the setup guide walks through.

WHAT THE MENU OFFERS

Everything you need to run the station.

The menu adapts to what’s running — when the stack is down you only see start; when it’s up, the running-stack actions take its place.

  • status — a quick snapshot: which stack is up, how many containers are running, and what’s on the air right now.
  • doctor — a full diagnostic sweep: the Docker daemon, every container, the controller’s HTTP health, Navidrome reachability, and recent errors in the logs.
  • start / stop — bring the stack up or down. Starting from cold asks whether you want the dev or production layout.
  • restart — rebuild and recreate a single service. The console knows the controller and Liquidsoap need a rebuild — not a plain restart — for source changes to take.
  • logs — tail one service, or all of them, without the long docker compose -f … incantation.
  • play — open the terminal player (below).
  • listen — open the web player in your browser.
  • admin — open the admin console in your browser.
  • setup — re-run the install wizard.

HEALTH AT A GLANCE

Status for a glance, doctor for a deploy.

status is the two-second “is it on the air?” check. doctor is the deeper sweep — run it after a deploy, or when something looks off. It’s the console’s equivalent of scripts/health-check.sh, and it ends with an ok / warn / fail tally plus a hint at the first thing that’s unhappy.

PLAYER & CONSOLES

Jump straight to the player or the admin.

The play option launches the SUB/WAVE TUI — now-playing, the timeline, the live booth feed, and a request form, all in your terminal and pointed at your own stack. It’s the full station experience without a browser. The Listen With page covers the TUI in detail.

Prefer the browser? listen and admin open the web player and the admin console in your default browser, pointed at the same stack — no host or port to remember.

SCRIPTING IT

Every action runs without the menu too.

The menu is for hands-on operating. To skip it — for a deploy script, a cron job, or just speed — append the action after npm start --:

npm start -- status        # print a snapshot, then exit
npm start -- doctor        # run the full sweep, then exit
npm start -- logs controller
npm start -- restart controller

Same actions, same output — just without the interactive menu wrapped around them.