AzuraCast: A Self-Hosted Web Radio Manager
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.
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.
Whether you're using the traditional installer or Docker containers, AzuraCast will automatically retrieve and install these components for you:
- 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)
- 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
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.