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.
Station Concept & Default Auto-Creation
Section titled “Station Concept & Default Auto-Creation”Think of each station as a separate radio channel (Station 1: Main Hit Radio, Station 2: Jazz & Chill, Station 3: Talk Radio).
Port Allocation
Section titled “Port Allocation”Stations use a fixed port formula. For station number N (1-based):
| Service | Port | Example (N=1) | Example (N=2) |
|---|---|---|---|
| Harbor (HTTP ingest) | 8100 + N − 1 | 8100 | 8101 |
| 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.mp3http://your-server:8010/station-2.mp3Creating & Managing Stations
Section titled “Creating & Managing Stations”Via REST API
Section titled “Via REST API”POST /api/stationsContent-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.