Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.sonicverse.eu/llms.txt

Use this file to discover all available pages before exploring further.

Self-hosted Docker Compose stack for live radio streaming. Ingest from any studio encoder and deliver via Icecast2 and HLS adaptive bitrate. Includes automatic fallback, silence detection, PostHog analytics, Pushover alerts, and a real-time operator dashboard.

Quickstart

Get the stack running in minutes with the interactive installer.

Features

Multiple formats

MP3, AAC, and Ogg Vorbis outputs at multiple bitrates, plus HLS adaptive streaming for mobile.

Automatic fallback

Three-tier fallback chain — primary stream, backup stream, and emergency audio file.

Silence detection

Detects dead air and sends alerts via Pushover with configurable thresholds.

Operator dashboard

Real-time listener counts, container health, emergency audio management, and alert timeline.

Analytics

Listener metrics and stream events sent to PostHog for monitoring and analysis.

SSL out of the box

Automatic Let’s Encrypt certificate provisioning and renewal via Certbot.

Services

ServiceDescription
Icecast2Stream distribution server with six mount points
LiquidsoapStream processor — ingest, fallback chain, encoding, HLS output
NginxPublic-facing reverse proxy and HLS segment serving
Status APIFlask API backend — stream health, container status, emergency audio management
AnalyticsPolls Icecast stats and sends events to PostHog with Pushover alerts
CertbotAutomatic Let’s Encrypt certificate renewal

Repository structure

├── docker-compose.yml
├── .env.example
├── install.sh
├── init-letsencrypt.sh
├── setup-firewall.sh
├── apps/
│   ├── status-api/            ← API backend (Docker)
│   │   ├── Dockerfile
│   │   ├── requirements.txt
│   │   └── server.py
│   └── dashboard/             ← Next.js frontend (Appwrite Sites)
│       ├── app/
│       ├── components/
│       ├── lib/
│       └── package.json
├── services/
│   ├── analytics/
│   │   ├── Dockerfile
│   │   ├── requirements.txt
│   │   └── tracker.py
│   └── streaming/
│       ├── icecast/
│       │   ├── Dockerfile
│       │   └── icecast.xml
│       └── liquidsoap/
│           ├── Dockerfile
│           └── radio.liq
├── infrastructure/
│   └── nginx/
│       ├── Dockerfile
│       └── nginx.conf
└── emergency-audio/
    └── fallback.mp3
  • apps/ contains operator-facing applications: the Next.js dashboard and the Flask status API.
  • services/ contains deployable runtime services: streaming (Icecast, Liquidsoap) and analytics.
  • infrastructure/ contains edge and routing infrastructure (Nginx reverse proxy).
  • emergency-audio/ stores local fallback media used when both studio streams are unavailable.

Community

Join the Sonicverse OSS Slack to ask questions, share feedback, and connect with other operators.

License

Audio Streaming Stack is released under the MIT License.