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.
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
Recommended hosting
For a reliable, high-performance hosting option, consider Hetzner Cloud — competitive prices and ideal for audio streaming infrastructure. Sign up using the link below to receive a €20 promo code valid for all Cloud products. It also helps support Sonicverse internal services and sandboxes.
Get started on Hetzner Cloud
Sign up and receive €20 in free cloud credits.
Option A: One-liner installation
The fastest way to get started. This command clones the repository and runs the interactive installer:Option B: Interactive installer
Choose an installation mode based on your needs.- Minimal deployment (default)
- Development environment
- Build locally (advanced)
Uses pre-built images from Docker Hub. No local build tools required — the fastest option for production.This installs only what you need to run the stack: Docker, a
.env configuration file, and pre-built container images from Docker Hub.Container registries
Pre-built images are published to both Docker Hub (primary) and GitHub Container Registry (mirror). The default configuration pulls from Docker Hub.| Registry | Image prefix | Role |
|---|---|---|
| Docker Hub | docker.io/sonicverse/audiostreaming-stack-* | Primary (default) |
| GHCR | ghcr.io/sonicverse-eu/audiostreaming-stack/* | Mirror |
Option C: Manual setup
Clone and configure
.env with your values. See configuration for all available variables.Start the stack
ENABLE_STATUS_PANEL=1 in .env), include the profile flag:Connect your studio encoder
Configure BUTT or any Icecast-compatible encoder:Primary stream:
- Host: your server IP
- Port:
8010 - Mount:
/primary - Password: your
HARBOR_PASSWORDfrom.env - Format: MP3 CBR 320 kbps
- Host: your server IP
- Port:
8011 - Mount:
/secondary - Password: your
HARBOR_PASSWORDfrom.env - Format: MP3 CBR 192 kbps
Install development dependencies separately
If you already ran./install.sh without --dev and now want to add development dependencies:
| Flag | Description |
|---|---|
--ci | Deterministic installs using lockfiles |
--python-user | Install Python packages with --user |
--skip-node | Skip dashboard (JavaScript) dependencies |
--skip-python | Skip analytics and status API (Python) dependencies |
Install Docker
If you don’t have Docker installed yet:- Ubuntu / Debian
- macOS / Windows
Updating the stack
When you run the installer on a server that already has the stack running, it detects the existing deployment and prompts you to Update, Reinstall, or Cancel.- Backup — Tags the Docker image for every running service so it can be restored if the update fails.
- Pull — Fetches the latest code from the repository and pulls new container images from Docker Hub.
- Rebuild — Rebuilds any locally built images to pick up configuration changes.
- Apply — Starts the updated containers with zero downtime using
docker compose up -d --remove-orphans. - Rollback — If step 4 fails, the installer restores the backed-up images and restarts the previous version automatically.
The update process keeps your
.env file and data volumes intact. Only container images are changed.Manual update
If you prefer to update manually without the installer:--profile status-panel to each docker compose command:
Next steps
Configuration
Customize all environment variables for your station.
Stream endpoints
See all available listener endpoints and formats.