AzuraCast Radio Server Setup: Complete VPS Guide for Internet Radio Hosting

Published on

Quick answer: AzuraCast is free, open-source software that runs your own radio station on a VPS. A €5-10/month VPS handles 100+ listeners easily. Install with o

Written by Space-Node Team – Infrastructure Team – 15+ years combined experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Learn more

Quick answer: AzuraCast is free, open-source software that runs your own radio station on a VPS. A €5-10/month VPS handles 100+ listeners easily. Install with one Docker command, upload your music, and you're broadcasting. This guide covers complete setup, AutoDJ configuration, and going live with DJs.


Why Host Your Own Radio Station?

Traditional Radio Hosting Problems

| Service | Monthly Cost | Listeners | Storage | Limitations | |---------|--------------|-----------|---------|-------------| | Live365 | €50-200 | 500-2500 | Limited | Platform lock-in | | Radionomy | €15-50 | 1000-5000 | 50GB | Forced ads | | Caster.fm | €9-29 | 100-500 | 10-50GB | Bandwidth limits | | Shoutcast Hosting | €10-50 | Varies | Limited | Often oversold |

Self-Hosted with AzuraCast

| VPS Cost | Listeners | Storage | Features | |----------|-----------|---------|----------| | €5/month | 100-200 | 40GB | Basic AutoDJ | | €10/month | 300-500 | 80GB | Full features | | €20/month | 1000+ | 150GB+ | Multiple stations | | €30+/month | 2000+ | 300GB+ | High availability |

Benefits:

  • No listener limits (only bandwidth)
  • Unlimited storage (your VPS disk)
  • Multiple stations on one server
  • No ads unless you want them
  • Full control over everything
  • Professional web interface

What is AzuraCast?

AzuraCast is a free, open-source web radio management suite that includes:

  • AutoDJ (Liquidsoap): Automatic music rotation, scheduling, jingles
  • Streaming (Icecast/Shoutcast): Compatible with all radio directories
  • Web Interface: Modern dashboard for management
  • Live DJ Support: RTMP and direct source connections
  • Analytics: Listener stats, song history, reports
  • Podcasting: Built-in podcast hosting
  • API: Full REST API for custom apps

VPS Requirements

| Use Case | CPU | RAM | Storage | Bandwidth | Cost | |----------|-----|-----|---------|-----------|------| | Solo hobby station | 1 core | 1GB | 20GB | 2TB | €5 | | Small community radio | 2 cores | 2GB | 50GB | 5TB | €10 | | Professional station | 2-4 cores | 4GB | 100GB | 10TB | €15-25 | | Multi-station hub | 4 cores | 8GB | 200GB | 20TB | €30-50 |

Bandwidth calculation:

  • 128kbps MP3 × 100 listeners = 12.8 Mbps
  • Per month: ~4.1 TB
  • Most VPS plans include 5-10TB, plenty for small-medium stations

Step 1: Prepare Your VPS

Order a VPS with:

  • Ubuntu 22.04 or Debian 12
  • At least 2GB RAM (recommended)
  • Docker support

SSH into your server:

ssh root@YOUR_VPS_IP

Update the system:

apt update && apt upgrade -y

Step 2: Install Docker

AzuraCast runs in Docker containers for easy installation and updates:

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# Install Docker Compose
apt install docker-compose-plugin -y

# Verify installation
docker --version
docker compose version

Step 3: Install AzuraCast

One-command installation:

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:

  1. Release channel: Choose stable for production
  2. Let's Encrypt: Say yes if you have a domain name pointed to your server
  3. Domain name: Enter your domain (e.g., radio.example.com)

Installation takes 5-10 minutes.


Step 4: Initial Setup

Access AzuraCast at: http://YOUR_VPS_IP or https://your-domain.com

Create Admin Account

  1. Click "Create Account"
  2. Enter your email and password
  3. This becomes your super-admin account

Create Your First Station

  1. Go to System Administration → Stations
  2. Click Add Station
  3. Fill in:
    • Name: My Radio Station
    • Short Name: myradio (used in URLs)
    • Frontend: Icecast (recommended) or Shoutcast
    • Backend: Liquidsoap (for AutoDJ)
  4. Click Save

Step 5: Configure Your Station

Station Settings

Go to your station's dashboard → Settings:

General:

  • Station name and description
  • Genre (for directories)
  • Website URL

Frontend (Icecast):

  • Port: 8000 (default)
  • Max listeners: Set based on your bandwidth
  • Stream format: MP3 128kbps (most compatible)

Backend (Liquidsoap):

  • Enable AutoDJ: Yes
  • Crossfade duration: 3-5 seconds
  • Enable song requests: Yes/No

Stream Mount Points

Default mount points:

  • /radio.mp3 - MP3 stream (most compatible)
  • /radio.ogg - Ogg Vorbis (better quality, less compatible)

Your stream URLs will be:

  • http://YOUR_IP:8000/radio.mp3
  • https://your-domain.com/radio.mp3

Step 6: Upload Your Music

Via Web Interface

  1. Go to Media → Music Files
  2. Click Upload Files
  3. Drag and drop your music

Via SFTP (For Large Libraries)

Use SFTP client (FileZilla, WinSCP):

  • Server: YOUR_VPS_IP
  • Port: 2022 (AzuraCast SFTP)
  • Username: Your station's short name
  • Password: Found in Station → SFTP Users

Upload to /media folder.

Organize with Playlists

  1. Go to Media → Playlists
  2. Create playlists:
    • General Rotation: Main music library
    • New Releases: Play more frequently
    • Late Night: Different vibe
    • Jingles: Station IDs, ads

Configure playlist weight and scheduling:

  • Weight: Higher = plays more often
  • Schedule: Specific times of day

Step 7: Set Up AutoDJ

Playlist Configuration

Go to Media → Playlists, create:

Main Rotation:

  • Type: Default Playlist
  • Weight: 3 (plays 3x more than weight 1)
  • Include: All general music

Jingles:

  • Type: Once Per X Songs
  • Play every: 5 songs
  • Include: Station IDs, bumpers

Scheduled Shows:

  • Type: Scheduled
  • Schedule: Monday 20:00-22:00
  • Include: Specific genre/vibe

Crossfade Settings

Go to Station Settings → Backend:

Crossfade Duration: 4 seconds
Apply Crossfade to Playlists: Yes

Smart Mixing

AzuraCast automatically:

  • Balances playlist weights
  • Avoids repeating artists too soon
  • Follows scheduling rules
  • Handles requests and dedications

Step 8: Enable Live DJs

Create DJ Account

  1. Go to Station → Streamers/DJs
  2. Click Add Streamer
  3. Fill in:
    • Username: dj-name
    • Password: Strong password
    • Display Name: DJ Cool Name

DJ Connection Settings

For BUTT (Broadcast Using This Tool):

  • Server: YOUR_VPS_IP
  • Port: 8006 (Icecast source port)
  • Password: DJ password
  • Mount: /live

For Mixxx:

  • Type: Icecast 2
  • Host: YOUR_VPS_IP
  • Port: 8006
  • Mount: /live
  • User: dj-username
  • Password: DJ password

For OBS/Broadcasting Software: Use RTMP connection:

  • Server: rtmp://YOUR_VPS_IP:1935/live
  • Stream Key: dj-username?password=djpassword

DJ Priority

Configure when DJ takes over from AutoDJ:

  • Go to Station Settings
  • AutoDJ Queue Length: Set to 2-3 songs
  • When DJ connects, AutoDJ fades out after current song

Step 9: Add Listener Analytics

Built-in Analytics

AzuraCast automatically tracks:

  • Current listeners
  • Peak listeners (hourly, daily, monthly)
  • Listener locations
  • Songs played and listener counts per song
  • Average listening time

Access via: Reports → Statistics

Export Options

  • CSV export for spreadsheets
  • API endpoints for custom dashboards
  • Webhook integration for Discord notifications

Discord Notifications

  1. Go to Station → Web Hooks
  2. Add webhook type: Discord
  3. Enter Discord webhook URL
  4. Configure events:
    • Song changes
    • Listener milestones
    • DJ connections

Step 10: Submit to Radio Directories

Get your station listed in radio directories for more listeners.

Directory Information

Go to Station Settings → Profile and fill in:

  • Genre
  • Description
  • Website
  • Logo (250×250 minimum)

Shoutcast Directory

  1. Create account at shoutcast.com
  2. Get DNAS auth hash
  3. In AzuraCast, go to Station → Mount Points
  4. For your main mount, add:
    • Shoutcast Directory: Enable
    • Auth hash: Your Shoutcast hash

TuneIn

  1. Apply at tunein.com/broadcasters
  2. Submit your stream URL
  3. Once approved, listeners find you in TuneIn app

Radio Garden

  1. Visit radio.garden/add
  2. Submit your station with location
  3. Appears on global radio map

Radio Browser

  1. Automatic via Icecast directory
  2. Or submit at radio-browser.info

Advanced: Multiple Stations

AzuraCast supports unlimited stations on one server.

Create Additional Station

  1. System Administration → Stations → Add Station
  2. Each station gets:
    • Unique ports
    • Separate media library
    • Independent DJs
    • Own analytics

Example Multi-Station Setup

| Station | Port | Genre | |---------|------|-------| | Main Radio | 8000 | Various | | EDM Channel | 8010 | Electronic | | Chill Lounge | 8020 | Ambient | | Talk Radio | 8030 | Talk/Podcast |

Resource usage: Add ~200MB RAM per active station.


Custom Domain Setup

Point Domain to Server

Add DNS records:

A     radio.example.com    → YOUR_VPS_IP
AAAA  radio.example.com    → YOUR_VPS_IPv6 (optional)

Enable HTTPS

AzuraCast includes Let's Encrypt:

cd /var/azuracast
./docker.sh update-self
./docker.sh letsencrypt-create

Enter your domain when prompted.

Stream URLs

After setup:

  • https://radio.example.com/radio.mp3
  • https://radio.example.com/radio.ogg

Embedding Your Player

Simple HTML5 Player

<audio controls>
    <source src="https://radio.example.com/radio.mp3" type="audio/mpeg">
    Your browser does not support audio.
</audio>

AzuraCast Public Page

AzuraCast includes a public player page: https://radio.example.com/public/station-name

Features:

  • Now playing info
  • Song history
  • Request songs
  • Schedule display

Custom Widget

<iframe 
    src="https://radio.example.com/public/station-name/embed"
    width="300" height="150" 
    frameborder="0">
</iframe>

Mobile Apps

Recommend These to Listeners

| App | Platform | Features | |-----|----------|----------| | TuneIn | iOS/Android | If listed in TuneIn directory | | Radio Garden | iOS/Android | If submitted to Radio Garden | | Simple Radio | iOS/Android | Add any stream URL | | VLC | All platforms | Direct stream URL |

Your Own App

Use the AzuraCast API to build custom mobile apps:

  • Now playing endpoint
  • Song history
  • Listener count
  • Request system

API documentation: Your AzuraCast URL + /api


Performance Optimization

Reduce CPU Usage

# In Station Settings → Backend
Liquidsoap Quality: Medium (default) or Low (if CPU constrained)

Caching

Enable CloudFlare or similar CDN for the web interface (not streams).

Memory Limits

Edit docker-compose.override.yml:

services:
  web:
    mem_limit: 512m
  mariadb:
    mem_limit: 256m
  redis:
    mem_limit: 64m

Monitoring

# Check resource usage
docker stats

# View logs
./docker.sh logs

# Check specific service
docker logs azuracast_web

Backup Your Station

Automatic Backups

  1. Go to System Administration → Backups
  2. Configure:
    • Frequency: Daily
    • Storage: Local or remote (S3, SFTP)
    • Include media: Yes (large) or No (config only)

Manual Backup

cd /var/azuracast
./docker.sh backup

# Backup saved to /var/azuracast/backups/

Restore

./docker.sh restore /path/to/backup.zip

Security Configuration

Firewall Setup

# Install UFW
apt install ufw -y

# Allow SSH
ufw allow 22

# Allow HTTP/HTTPS
ufw allow 80
ufw allow 443

# Allow streaming ports
ufw allow 8000  # Icecast listener port
ufw allow 8006  # Icecast source port (DJs)

# Allow SFTP
ufw allow 2022

# Enable firewall
ufw enable

Secure Admin Access

  1. Use strong passwords
  2. Enable 2FA: System Administration → Users → Your user → Enable 2FA
  3. Limit admin IPs if possible

DJ IP Restrictions

In Streamer settings:

  • Set allowed IP ranges
  • Limit connection attempts

Troubleshooting

No Audio / Stream Offline

# Check if services are running
./docker.sh up -d

# Restart services
./docker.sh restart

# Check logs
./docker.sh logs

AutoDJ Not Playing

  1. Check Media → Music Files - files uploaded?
  2. Check Playlists - are songs assigned to playlists?
  3. Check station is started: Station dashboard → Start

DJs Can't Connect

  1. Verify port 8006 is open in firewall
  2. Check DJ credentials are correct
  3. Ensure station allows live streamers

High CPU Usage

# Check which container is using CPU
docker stats

# Usually Liquidsoap (AutoDJ)
# Reduce quality or simplify playlists

Out of Disk Space

# Check disk usage
df -h

# Remove old logs
./docker.sh logs --clear

# Remove old backups
rm /var/azuracast/backups/old-backup.zip

Cost Analysis

Self-Hosted AzuraCast

| Component | Monthly Cost | |-----------|--------------| | VPS (4GB) | €10-15 | | Domain (optional) | €1-2 | | Total | €11-17 |

Commercial Alternatives

| Service | Listeners | Price | |---------|-----------|-------| | Live365 Starter | 500 | €50/month | | Radionomy Pro | 1000 | €29/month | | Caster.fm Premium | 500 | €29/month |

Savings

Self-hosting saves €200-400/year while getting more listeners, storage, and control.


Frequently Asked Questions

Is AzuraCast really free?

Yes, completely open-source and free. No hidden fees, no listener limits, no ads.

Can I monetize my station?

Yes. Insert your own ads, accept donations, sell sponsorships. You keep 100% of revenue.

What music formats are supported?

MP3, FLAC, OGG, AAC, and most audio formats. AzuraCast transcodes as needed.

How many listeners can I handle?

Depends on bandwidth. A 10TB/month VPS can handle ~500 concurrent 128kbps listeners 24/7.

Can I schedule pre-recorded shows?

Yes. Create scheduled playlists for specific times. Perfect for talk shows, themed hours, or syndicated content.

Does it work with SAM Broadcaster?

Yes. Configure SAM to output to Icecast source port (8006) as an external encoder.


Conclusion

Running your own internet radio station with AzuraCast is:

  1. Affordable: €10-15/month vs €50+ for commercial hosting
  2. Powerful: AutoDJ, live DJs, analytics, podcasting
  3. Scalable: Add stations and listeners as you grow
  4. Professional: Submit to directories, embed on websites

Setup takes about 30 minutes, and you'll have a professional radio station running 24/7.


Ready to start your radio station? Space-Node VPS hosting offers reliable servers in the Netherlands, perfect for radio streaming. Starting at €5/month with NVMe storage and high bandwidth for listeners.

Related guides:

About the Author

Space-Node Team – Infrastructure Team – Experts in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 15+ years combined experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

Our team specializes in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters. We maintain GDPR compliance and ISO 27001-aligned security standards.

Read full author bio and credentials →

Launch Your VPS Today

Get started with professional VPS hosting powered by enterprise hardware. Instant deployment and 24/7 support included.

AzuraCast Radio Server Setup: Complete VPS Guide for Internet Radio Hosting