Icecast is a lightweight, open-source streaming server purpose-built for audio — ideal for running an internet radio station or podcast live-stream without the overhead of a full video streaming stack.
Prerequisites
- Ubuntu 22.04/24.04 VPS: 1-2 vCPU, 1-2 GB RAM (audio streaming is much lighter than video)
Step 1 — Install Icecast
sudo apt install icecast2 -y
The installer prompts for basic configuration (hostname, passwords) during setup — you can also configure these afterward.
Step 2 — Configure Icecast
sudo nano /etc/icecast2/icecast.xml
<icecast>
<source-password>CHANGE_ME_STRONG_PASSWORD</source-password>
<relay-password>CHANGE_ME_STRONG_PASSWORD</relay-password>
<admin-password>CHANGE_ME_STRONG_PASSWORD</admin-password>
<hostname>yourdomain.com</hostname>
</icecast>
Step 3 — Enable and Start Icecast
sudo nano /etc/default/icecast2
ENABLE=true
sudo systemctl enable --now icecast2
Step 4 — Allow the Firewall Port
sudo ufw allow 8000/tcp
Step 5 — Access the Admin Interface
http://YOUR_SERVER_IP:8000/admin/
Log in with the admin credentials configured in Step 2.
Step 6 — Broadcast to Icecast
Use broadcasting software that supports Icecast output (many DJ/streaming applications and OBS Studio with an audio-only configuration support this) — connect using:
Server: yourdomain.com
Port: 8000
Mount Point: /stream
Password: (your source-password)
Step 7 — Listen to the Stream
http://yourdomain.com:8000/stream
Most media players and browsers can play this URL directly.
Adding HTTPS
See How to Install Nginx Proxy Manager with Docker to route a domain to Icecast's port with SSL, since Icecast doesn't handle TLS termination natively as easily as a dedicated reverse proxy.
Setting a Fallback/Default Stream
<mount>
<mount-name>/stream</mount-name>
<fallback-mount>/silence.mp3</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
Plays a fallback file when no live source is actively broadcasting, avoiding an abrupt disconnection for listeners.
Monitoring Listener Count
The admin interface shows current listener statistics per mount point — useful for understanding audience size and stream health at a glance.
Common Errors
Source software can't connect — verify the source password matches exactly, and that the mount point path is correctly specified in both the broadcasting software and Icecast configuration.
Stream plays but cuts out intermittently — check network stability between the broadcasting source and the server; also verify the VPS has adequate bandwidth for your expected listener count.
Continue Reading
- How to Install Navidrome (Self-Hosted Music Streaming/Spotify Alternative)
- VPS Requirements for Media Streaming Servers
- How to Set Up Nginx RTMP for Live Video Streaming
Browse more articles in Media & Streaming Servers.