What is AzuraCast and Why Use Docker?
AzuraCast is a free, open-source, self-hosted web radio management suite. It bundles everything a radio station needs β Liquidsoap for automation, Icecast or SHOUTcast for streaming, a built-in web player, AutoDJ, scheduling, listener statistics, and a clean web dashboard β into a single platform you control completely.
Docker is the recommended install method because it isolates every AzuraCast component into its own container, making updates, backups, and troubleshooting significantly easier. It also means AzuraCast will run identically whether your VPS uses Ubuntu, Debian, or Rocky Linux.
Step 1 β Prepare Your VPS
Connect to your VPS over SSH and run a full system update first. On Ubuntu or Debian:
apt update && apt upgrade -y
Set your server hostname. Replace radio.yourdomain.com with your actual domain pointing to this VPS:
hostnamectl set-hostname radio.yourdomain.com
Make sure ports 80, 443, and 8000 (or your chosen streaming port) are open in your VPS firewall. On Ubuntu with UFW:
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8000/tcp
ufw enable
Step 2 β Install Docker
AzuraCast requires Docker and Docker Compose. The fastest way is using the official Docker convenience script:
curl -fsSL https://get.docker.com | sh
Verify Docker is running:
docker --version
docker compose version
Both commands should return version numbers. If Docker Compose is missing, install it separately:
apt install docker-compose-plugin -y
Step 3 β Install AzuraCast
Create a dedicated directory for AzuraCast and run the official installer:
mkdir -p /var/azuracast
cd /var/azuracast
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker.sh > docker.sh
chmod a+x docker.sh
./docker.sh install
The installer will ask you a few questions β accept the defaults unless you have specific needs. It will pull all required Docker images and start the containers. This typically takes 5β10 minutes depending on your server speed.
Step 4 β Initial Web Setup
Once installation finishes, open a browser and navigate to https://radio.yourdomain.com. You will see the AzuraCast setup wizard. Create your administrator account, set up your first radio station, and configure your station's name, description, and genre.
At the "Broadcasting" step, choose between Icecast (recommended for most stations) or SHOUTcast. Set your bitrate β 128kbps MP3 is the standard for quality streaming with reasonable bandwidth use.
Need this set up for you?
We deploy AzuraCast on VPS daily β including Docker, SSL, AutoDJ, and remote DJ access. Usually done same day.
Step 5 β Configure AutoDJ and Liquidsoap
AzuraCast uses Liquidsoap as its AutoDJ engine. To configure it, go to your station β Media and upload your music files. Then go to Playlists and create a playlist. Assign tracks to it and set the rotation type β General Rotation plays randomly with weights, Scheduled plays only during specific time blocks.
For jingles, create a separate playlist and set it to "Once per X Songs" under the Advanced Playlist settings. This ensures jingles fire automatically between tracks at the interval you specify.
Enable AutoDJ under Station β Profile β Edit and make sure "Enable AutoDJ" is checked. Save and restart the station β your radio should now be broadcasting automatically.
Step 6 β Set Up Remote DJ Access
To allow live DJs to broadcast into your station, go to Station β Streamers / DJs and create a DJ account. Give it a username and password. The DJ will connect using broadcasting software like BUTT, Mixxx, or SAM Broadcaster using these settings:
- Host:
radio.yourdomain.com - Port:
8000(or your configured port) - Mount:
/live - Username and password from the DJ account
When a DJ connects, AzuraCast automatically switches from AutoDJ to the live source and switches back when the DJ disconnects.
Step 7 β Updates and Backups
To update AzuraCast in the future, run:
cd /var/azuracast && ./docker.sh update
For backups, AzuraCast has a built-in backup system under Administration β Backups. You can schedule automatic backups and download them, or configure them to upload directly to cloud storage. Always keep a backup before any major update.
Common Issues and Fixes
SSL certificate not working: Make sure your domain's DNS is fully propagated before running the installer. Use dig radio.yourdomain.com to confirm the A record points to your VPS IP.
Stream not playing in the web player: Check that port 8000 is open in your firewall and that your browser isn't blocking mixed content. HTTPS player requires HTTPS stream β ensure SSL is correctly configured.
AutoDJ playing silence: This almost always means your music library hasn't been fully processed yet. Go to Media β run "Process All" and wait for the analysis to complete before testing.
Containers not starting after reboot: Run cd /var/azuracast && docker compose up -d to restart all containers manually. To make this automatic, ensure Docker is enabled as a system service: systemctl enable docker.