A self-hosted web radio management suite, including turnkey installer tools for the full radio software stack and a modern, easy-to-use web app to manage your stations.
Find a file
Buster "Silver Eagle" Neece 98d3c2ccbd
Add alternate FLAC mime type.
2020-11-30 22:00:31 -06:00
.github Revert commit and set environment to "Testing". 2020-10-25 05:58:06 -05:00
bin Analytics Overhaul and InfluxDB Removal (#3243) 2020-10-07 18:50:30 -05:00
config #3215 -- Implement "remember me" checkbox on login. 2020-11-30 05:32:52 -06:00
frontend Add quicker mime type check, avoid processing files if not necessary. 2020-11-24 01:55:46 -06:00
plugins Begin work on custom code plugins support. 2018-09-21 07:04:05 -05:00
resources Add support for Simplified Chinese. 2020-11-25 02:00:20 -06:00
src Add alternate FLAC mime type. 2020-11-30 22:00:31 -06:00
templates #3215 -- Implement "remember me" checkbox on login. 2020-11-30 05:32:52 -06:00
tests Unified Filesystem Overhaul (#3341) 2020-11-09 21:06:48 -06:00
util #3399 -- Proxy the "Origin" header and fix URI parsing/ACAO response. 2020-11-20 02:17:11 -06:00
vendor Optimize CI testing and web dependencies (#2899) 2020-05-29 20:36:49 -05:00
web Bump to 0.11 stable release. 2020-11-28 22:58:47 -06:00
.dockerignore Optimize CI testing and web dependencies (#2899) 2020-05-29 20:36:49 -05:00
.editorconfig Make the Station Profile a standalone compiled Vue component. 2020-10-16 04:08:58 -05:00
.gitattributes Change what files are included in the distributed release archives. 2019-02-25 14:28:58 -06:00
.gitignore Auto-load most Vue component deps from Webpack manifest. 2020-07-15 03:00:17 -05:00
.phplint.yml Change cache dir for Travis. 2019-01-31 14:48:17 -06:00
ansible.cfg Run composer as azuracast user and update permissions accordingly. 2017-10-21 00:05:26 -05:00
azuracast.dev.env Add environement variables for increasing the amount of allowed database connections (#3357) 2020-10-30 14:10:25 -05:00
azuracast.sample.env Remove hard-coded sync task memory limit; expand customizability for timeouts. 2020-11-13 23:21:40 -06:00
CHANGELOG.md Make manual reprocess command trigger the normal sync task instead. 2020-11-30 20:43:29 -06:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2019-06-22 11:07:03 -05:00
codeception.yml Composer dependency update and minor functional test tweaks. 2020-06-06 05:14:50 -05:00
composer.json Code style fixes, add "cleanup-and-test" command for dev. 2020-11-24 19:56:18 -06:00
composer.lock Add quicker mime type check, avoid processing files if not necessary. 2020-11-24 01:55:46 -06:00
CONTRIBUTING.md Updating contributing guidelines (#3369) 2020-11-02 22:16:48 -06:00
crowdin.yaml Download latest translations and run static build during CI/CD. (#2893) 2020-05-28 20:01:29 -05:00
docker-compose.dev.yml Fix vendor volume for dev instances. 2020-10-21 05:25:03 -05:00
docker-compose.migrate.yml Expand default Docker port range to 50 stations and add instructions. 2019-06-18 14:20:41 -05:00
docker-compose.sample.yml Analytics Overhaul and InfluxDB Removal (#3243) 2020-10-07 18:50:30 -05:00
docker-compose.testing.yml Set application env in testing Docker Compose file. 2020-09-28 21:34:54 -05:00
docker-migrate.sh Unify to a single console command location. 2020-01-24 23:08:25 -06:00
docker.sh Modify location where .env is written to allow unattended stable install. 2020-11-29 02:45:44 -06:00
Dockerfile Analytics Overhaul and InfluxDB Removal (#3243) 2020-10-07 18:50:30 -05:00
install.sh Various tweaks to Ansible installs. 2020-06-09 05:10:07 -05:00
LICENSE.txt Update casing on files, add SUPPORT.md with common solutions. [skip ci] 2017-07-20 20:33:08 -05:00
phpcs.xml Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
phpstan.neon Revert to previous phpstan usage (the new one breaks stuff). 2020-08-31 18:27:30 -05:00
portainer.json Create a Portainer JSON template for AzuraCast. 2020-05-25 18:15:14 -05:00
README.md Remove links to Slack community in favor of Discord. 2020-11-28 21:24:23 -06:00
sample.env Rename sample env file to avoid conflicts with local dev. 2020-05-18 22:51:57 -05:00
SUPPORT.md Consolidate documentation onto site homepage and update relevant links. 2019-06-21 18:27:18 -05:00
uninstall.sh #423 -- Update Ansible compliance, build uninstaller and migrator scripts (#442) 2018-02-19 17:35:43 -06:00
update.sh Analytics Overhaul and InfluxDB Removal (#3243) 2020-10-07 18:50:30 -05:00

AzuraCast: A Self-Hosted Web Radio Manager

Build Status Apache 2.0 License Ethical Open Source Docker Pulls Twitter Follow

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.

Live Demo

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

  • Username: demo@azuracast.com
  • Password: demo

Install AzuraCast

Follow our installation guide for instructions on how to install AzuraCast on your own server.

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.
  • Storage Location Management: Station media, live recordings and backups can be stored localy or on an S3 compatible storage provider.

What's Included

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)

For x86/x64 installations, SHOUTcast 2 DNAS can also be used as a broadcasting frontend. SHOUTcast is non-free software and does not come bundled with AzuraCast, but can be installed via the administration panel after AzuraCast has been installed.

Supporting Software

  • NGINX for serving web pages and the radio proxy
  • MariaDB as the primary database
  • PHP 7.4 powering the web application
  • Redis for sessions, message queue storage, 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.

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.

Need Help?

If you need help with AzuraCast, the first place you should visit is our Support page, which features solutions to a number of commonly encountered issues and questions, as well as instructions on how to check your server's log files for more details. If you do need our help via GitHub, supplying these logs is absolutely essential in helping us diagnose and resolve your issue.

New feature requests are powered by FeatureUpvote. You can visit our Feature Request Page to submit a new feature request or vote on existing ones.

For bug and error reports, we rely exclusively on our GitHub Issues board to diagnose, track and update these reports. First, check to make sure the issue you're experiencing isn't already reported on GitHub. If it is, you can subscribe to the existing ticket for updates on the issue's progress. If your issue or request isn't already reported, click the "New Issue" button to create it. Make sure to follow the template provided, as it asks important details that are very important to our team.

Please keep in mind that AzuraCast is a free software project built and maintained by volunteers, so there may be some delays in getting back to you. We will make the absolute best effort possible to resolve your issues and answer your questions.

Communities and Social Media

We frequently post to social media any time there are significant updates to our software, security issues that users should be aware of, or upcoming changes to third-party software. You can get these updates in a more timely fashion by following our accounts:

If you are an AzuraCast user, station owner, developer or other contributor, you can also join our Discord community, where you can ask questions, share your station and more:

Note that our social media channels aren't the best way to report issues to us; instead, you should use the GitHub issues instructions above, as this allows our whole team to help resolve and track the progress of the issue in one location.

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

  • Netlify for supporting open-source software like ours and for serving as the host of our primary azuracast.com web site.

  • 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 ko-fi.com