AzuraCast – Simple, open-source self-hosted web radio

For many years now I have hosted internet radio and internet radio events using a very simple stack of just IceCast + EZStream, tied in with a few very simple scripts and cron jobs. This has always worked incredibly reliably and kept these setups very minimal with less parts in the chain to potentially have an issue or drive up resource usage. The negative of this has always been a lack of flexibility. In the past I had looked into software such as Centova Cast, however this comes at a cost and isn’t an open-source solution – which is what I will generally opt for where possible.

Introducing AzuraCast! I have been experimenting with AzuraCast for the last few months and it certainly shows a lot of promise. Rather than repeating specifics about it myself – here is a copy-paste directly from their GitHub.

AzuraCast is a self-hosted, all-in-one web radio management suite. Using its easy installer and powerful but intuitive web interface, you can start up a fully working web radio station in a few quick minutes.

Features

For Radio Stations

  • Rich Media Management: Upload songs, edit metadata, preview songs and organize music into folders from your browser.
  • Playlists: Add music to standard-rotation playlists (in sequential or shuffled playback order) or schedule a playlist to play at a scheduled time, or once per x songs/minutes/etc.
  • Live DJs: Set up individual DJ/streamer accounts and see who’s currently streaming from your station’s profile page.
  • Web DJ: Broadcast live directly from your browser, with no extra software needed, with AzuraCast’s built-in Web DJ tool.
  • Public Pages: AzuraCast includes embeddable public pages that you can integrate into your existing web page or use as the basis for your own customized player.
  • Listener Requests: Let your listeners request specific songs from your playlists, both via an API and a simple public-facing listener page.
  • Remote Relays: Broadcast your radio signal (including live DJs) to any remote server running Icecast or SHOUTcast.
  • Web Hooks: Integrate your station with Slack, Discord, TuneIn, Twitter and more by setting up web hooks that connect to third-party services.
  • Detailed Analytics and Reports: Keep track of every aspect of your station’s listeners over time. View reports of each song’s impact on your listener count. You can also generate a report that’s compatible with SoundExchange for US web radio royalties.

For Server Administrators

  • Role-based User Management: Assign global and per-station permissions to a role, then add users to those roles to control access.
  • Custom Branding: Modify every aspect of both the internal and public-facing AzuraCast pages by supplying your own custom CSS and JavaScript.
  • Authenticated RESTful API: Individual users in the system can create API keys which have the same permissions they have in the system. The AzuraCast API is a powerful and well-documented tool for interacting with installations.
  • Web Log Viewing: Quickly diagnose problems affecting any part of the AzuraCast system through the system-wide web log viewer.
  • Automatic Radio Proxies: Many users can’t connect directly to radio station ports (i.e. 8000) by default, so AzuraCast includes an automatic nginx proxy that lets listeners connect via the http (80) and https (443) ports. These proxies are also compatible with services like CloudFlare.

AzuraCast is still currently in beta, however the developers seem very active on the project and updates are regular. This is definitely a long awaited alternative to the commercial/paid software solutions for managing internet radio. I’m very excited to watch how this project develops. For more information, check out their website over at – https://www.azuracast.com/