Skip to main content
Prerequisites:
  • A Linux server (Ubuntu/Debian recommended)
  • Docker and Docker Compose installed
  • A domain name pointed at your server
  • Ports 80, 443, 8010, and 8011 open
The installer handles Docker checks, configuration, SSL setup, and launching the stack.
git clone https://github.com/sonicverse-eu/audiostreaming-stack.git
cd audiostreaming-stack
./install.sh --use-prebuilt

Option B: Manual setup

1

Clone and configure

git clone https://github.com/sonicverse-eu/audiostreaming-stack.git
cd audiostreaming-stack
cp .env.example .env
Edit .env with your values. See configuration for all available variables.
2

Add emergency audio

Place a fallback audio file that plays when both studio streams are offline:
cp /path/to/your/fallback.mp3 emergency-audio/fallback.mp3
3

Obtain SSL certificate

./init-letsencrypt.sh
Set LETSENCRYPT_STAGING=1 in your .env to test with staging certificates first.
4

Start the stack

docker compose up -d
5

Connect your studio encoder

Configure BUTT or any Icecast-compatible encoder:Primary stream:
  • Host: your server IP
  • Port: 8010
  • Mount: /primary
  • Password: your HARBOR_PASSWORD from .env
  • Format: MP3 CBR 320 kbps
Fallback stream:
  • Host: your server IP
  • Port: 8011
  • Mount: /secondary
  • Password: your HARBOR_PASSWORD from .env
  • Format: MP3 CBR 192 kbps
Command-line encoder profiles (LAME):
# Primary (320 kbps)
lame -r -s 44.1 -b 320 -x - -

# Fallback (192 kbps)
lame -r -s 44.1 -b 192 -x - -
6

Verify

Check that everything is running:
  • Icecast admin: http://<host>/icecast-admin/
  • Test stream: open http://<host>/listen/stream-mp3-128 in VLC
  • HLS: open http://<host>/hls/live.m3u8 in Safari or VLC

Install Docker

If you don’t have Docker installed yet:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Log out and back in for group changes to take effect.

Next steps

Configuration

Customize all environment variables for your station.

Stream endpoints

See all available listener endpoints and formats.