LibreTime is a radio station automation system that supports web casting. It is built from as a community fork of SourceFabric's Airtime radio station automation system. It provides a web interface where you can upload tracks and arrange them to play at certain times via a schedule. The software also allows different users to take one roles such as DJ, Program Manager and Admin with various levels of permissions. You can for instance assign a DJ to a certain time slot and they will be able to login and upload shows only during that time period. In addition there is live streaming with user based authentication where a user can only stream during the show times they are assigned.... More Info »
Beyond this LibreTime also provides automatic podcast downloading and scheduling and other allows other advanced automation with a metadata based track selection system called smartblocks. It allows you to select certain tracks in your library to play based upon a variety of options such as genre, length and even BPM. Also LibreTime has the ability to automatically rebroadcast other stations via relaying webstreams.
At this time we still consider LibreTime alpha level software because there is a lot of development going on and we still haven't solved all of the bugs. In the near future we are aiming to release a version 3 beta and then possibly a stable release. It is completely self-hosted but can be setup on a VPS running Ubuntu 16.04 or above (the soon to be released alpha.7 release will support Ubuntu 18.04 and above). You will want at least 1GB of ram on your server as LibreTime runs with a lot of services such as rabbitMQ, Postgresql, Apache, Liquidsoap & Python scripts.
The community is active and we use the (C4 - Collective Code Construction Contract) from ZeroMQ to direct how we handle various code commits and contributions. You can check out our github at https://github.com/libretime/libretime or https://discourse.libretime.org for our forum.