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.

AzuraCast works for web radio stations of all types and sizes, and is built to run on even the most affordable VPS web hosts. AzuraCast's mascot is Azura Ruisselante, created by Tyson Tan.

AzuraCast is currently in beta. Many web radio stations already run AzuraCast, but keeping your server up-to-date with the latest code from the GitHub repository is strongly recommended for security, bug fixes and new feature releases. It's unlikely, but updates may result in unexpected issues or data loss, so always make sure to keep your station's media files backed up in a second location.

To install AzuraCast, you should have a basic understanding of the Linux shell terminal. Once installed, every aspect of your radio station can be managed via AzuraCast's web interface.

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.

What's Included

Whether you're using the traditional installer or Docker containers, AzuraCast will automatically retrieve and install these components for you:

Radio Software

  • Liquidsoap as the always-playing "AutoDJ"
  • Icecast 2.4 as a radio broadcasting frontend (Icecast-KH installed on supported platforms)
  • SHOUTcast 2 DNAS as an alternative radio frontend (x86/x64 only)

Supporting Software

  • NGINX for serving web pages and the radio proxy
  • MariaDB as the primary database
  • PHP 7.2 powering the web application
  • InfluxDB for time-series based statistics
  • Redis for sessions, database and general caching

License

AzuraCast is licensed under the Apache license, version 2.0. This project is free and open-source software, and pull requests are always welcome.

Questions? Comments? Feedback?

AzuraCast is a volunteer project, and we depend on your support and feedback to keep growing. Issues for this codebase are tracked using GitHub Issues. Anyone can create a new issue for the project, and if you have any problems with your installation or ideas for new features to add, you are encouraged to do so.

Friends of AzuraCast

We would like to thank the following organizations for their support of AzuraCast's ongoing development:

  • DigitalOcean for generously providing the server resources we use for our demonstration instance, our staging and testing environments, and more
  • JetBrains for making our development faster, easier and more productive with tools like PhpStorm
  • CrowdIn for giving us a simple and powerful tool to help translate our application for users around the world
  • The creators and maintainers of the many free and open-source tools that AzuraCast is built on, who have done so much to help move FOSS forward