AzuraCast is a self-hosted web radio management suite, including turnkey installer tools and an easy-to-use web app to manage your stations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Buster "Silver Eagle" Neece 4e78567385 Fix contact information for .dockerapp 3 years ago
.github/ISSUE_TEMPLATE Delete 3 years ago
app Changes to allow unit testing from inside PhpStorm 3 years ago
resources Reference new project homepage instead of Github Wiki pages 3 years ago
tests Okay never mind don't ignore those files 3 years ago
util Changes to bring local testing and Travis CI in line with one another. 3 years ago
web #641 -- Automatically truncate long song/artist titles 3 years ago
.editorconfig Add .editorconfig 3 years ago
.env Environment file for Docker Compose (and other Compose libraries). 4 years ago
.gitattributes Revert removal of supporting libraries as some LS plugins still use them in runtime. 4 years ago
.gitignore Okay never mind don't ignore those files 3 years ago
.travis.yml Switching order of initial operations on Travis 3 years ago Remove OpenCollective and add Patreon. Happy 2000th commit! 3 years ago
LICENSE.txt Update casing on files, add with common solutions. [skip ci] 4 years ago Reference new project homepage instead of Github Wiki pages 3 years ago Add Docker Utility Script commands to support 3 years ago
ansible.cfg Run composer as azuracast user and update permissions accordingly. 4 years ago
azuracast.dockerapp Fix contact information for .dockerapp 3 years ago
codeception.yml Add Mount fixture and fix testing issue. 3 years ago
composer.json Composer update and ignoring autogenned unit test files. 3 years ago
composer.lock Composer update and ignoring autogenned unit test files. 3 years ago
crowdin.yaml Update Crowdin configuration file 5 years ago Changes to bring local testing and Travis CI in line with one another. 3 years ago
docker-compose.migrate.yml Make DC versions line up. 3 years ago
docker-compose.sample.yml Create new local-dev-specific docker-compose file for easy spinup 3 years ago
docker-compose.testing.yml Changes to bring local testing and Travis CI in line with one another. 3 years ago Move the docker-compose.yml file to a sample one, clean up other compose files. 3 years ago Clarify instructions on LetsEncrypt script. 3 years ago Fix issues with apt-key and Deadsnakes repo on 14.04. 4 years ago #423 -- Update Ansible compliance, build uninstaller and migrator scripts (#442) 3 years ago #628 -- Switch all IP geolocation to be local via the MaxMind GeoLite DB. 3 years ago

AzuraCast: A Self-Hosted Web Radio Manager

Build Status Apache 2.0 License Docker Pulls Twitter Follow

AzuraCast is a self-hosted, all-in-one web radio management kit. 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. The project is named after Azura Peavielle, the mascot of its predecessor project. AzuraCast also has its own project mascot, Azura Ruisselante created by the talented artist 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 simple to use web interface.

Live Demo

Want to see AzuraCast for yourself? Check out screenshots or visit our demo site at

  • Username:
  • Password: demo

Install AzuraCast

  • Docker Installation (Recommended): Docker offers an easy-to-use experience with prebuilt images. Updates are simple and AzuraCast won't interfere with other software on your server. You should use this method whenever possible.

  • Traditional Installation: For advanced users, if you want more customizability or need to run a leaner installation, you can use the Traditional installation method to install AzuraCast on Ubuntu servers.


With AzuraCast, you can:

  • Manage your Media: Upload songs from the web, organize music into folders, and preview songs in your browser.
  • Create Playlists: Set up standard playlists that play all the time, scheduled playlists for time periods, or special playlists that play once per x songs, or once per x minutes.
  • Set Up Live DJs: Enable or disable live broadcasting from streamers/DJs, and create individual accounts for each streamer to use.
  • Take Listener Requests: Let your listeners request specific songs from your playlists, both via an API and a simple public-facing listener page.
  • Track 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.
  • Let Station Autopilot Do the Work: AzuraCast can automatically assign songs to a playlist based on the song's impact on listener numbers.
  • Delegate Management: Create and remove separate administrator accounts for each station manager.
  • Build Your Own Radio Player: AzuraCast's powerful, well-documented API lets you control your station from software built in any programming language.
  • Integrate with TuneIn, Discord and More: The new web hook system lets you broadcast changes in your station to third party services.
  • ...and more.

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

AzuraCast API

Once installed and running, AzuraCast exposes an API that allows you to monitor and interact with your stations. Documentation about this API and its endpoints are available on the AzuraCast API Documentation.


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 in this repository's Issues section on GitHub. Anyone can create a new issue for the project, and 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

Support AzuraCast Development

AzuraCast will always be available free of charge, but if you find the software useful and would like to support the project's lead developer, visit either of the links below. Your support is greatly appreciated.

Buy Me a Coffee at