View on GitHub

TONE // AUDIO_LOG

A digital B-side for track selections, underground DJ culture, and the journey through sound production.

⌂ home

Internet Radio with Icecast2 and MPD

Nov 26, 2022


Update — 2026: This setup has since evolved. I moved from this vanilla Icecast2 + MPD stack to AzuraCast, a full-featured self-hosted radio management platform. AzuraCast still runs Icecast under the hood but wraps it in a proper web UI, AutoDJ scheduling, listener analytics, multiple mount points, and a lot more. The raw Icecast + MPD approach below is still valid and educational, but if you’re starting fresh AzuraCast is the move. I’m running it as part of Lounge24 Radio — more on that in a future post.


I recently set up an Internet Radio server in AWS using Icecast2 and MPD (Music Player Daemon). The basic idea was I would have a stream mount point for Live studio mix broadcasts that a DJ or Producer could connect to. Then, a second mount for radio broadcasts that is basically an “autodj” controlled by MPD. The song playlists are managed with ncurses based MPD client, ncmpcpp.

ncmpcpp

ncmpcpp cheat sheet

I was looking for a cheat sheet and found cheat.sh. Using an alias one could type cht and get the cheat sheet for ncmpcpp printed to standard output.

alias cht='curl cheat.sh/ncmpcpp'