Skip to content

Multi-Station Setup

Each station in brūhi Cloud is a fully independent broadcast unit with its own bruhi-audio Rust engine runner, Icecast mountpoint, studio control lock, and configuration.

Think of each station as a separate radio channel (Station 1: Main Hit Radio, Station 2: Jazz & Chill, Station 3: Talk Radio).

Stations use a fixed port formula. For station number N (1-based):

ServicePortExample (N=1)Example (N=2)
Harbor (HTTP ingest)8100 + N − 181008101
Icecast mount/station-N.mp3/station-1.mp3/station-2.mp3

The Icecast server listens on host port 8010 by default when using COMPOSE_PROFILES=bundled-icecast (configurable via ICECAST_HOST_PORT). Listeners connect to:

http://your-server:8010/station-1.mp3
http://your-server:8010/station-2.mp3
POST /api/stations
Content-Type: application/json
{
"name": "Jazz Radio",
"description": "24/7 jazz and blues"
}

Studio Controller Locks for Multi-Station Broadcasting

Section titled “Studio Controller Locks for Multi-Station Broadcasting”

When operating multiple stations with multiple DJs:

  • Station Selection: DJs select their station on login or via the top navigation bar.
  • Session Control Lock: To prevent two DJs from overriding each other’s live stream or playout queue on the same station, the station controller lock (server/studio_session) grants active broadcast rights to one session at a time.
  • Auto Re-selection: Station preferences and active locks persist across browser sessions.