8.4 KiB
The complete LibreTime documentation is available at libretime.org.
The full tarball for the 3.0.0-alpha.10
release of LibreTime is available here.
Since this is an alpha release there will be bugs in the code.
Please report new issues and/or feature requests in the issue tracker. Join our discourse or chat to us on our Mattermost instance if you need help and for general discussion.
Table of Contents
Features
- Support
force_ssl
configuration option in Python applications - Move
airtime_mvc
tolegacy
and move all PHP related files under it - Support
Authorization: Api-Key
header in API v1 - Use pip for LibreTime Python package installation
- Move Python scripts into
/usr/local/bin
- Add REST API v2 (unstable and subject to change)
Bug Fixes
- Renamed airtime_analyzer to libretime-analyzer
- Prevent autoload playlists running on deleted show instances
- Playout history can be exported as CSV and PDF
- Explicitly fail if the HTTP requests made by the Python applications fail
- Fix API v2 schedule endpoint item filtering and overlapping playout
- Fix pypo overlapping track playout
- Fix installation when Icecast is already installed
- Request 1Gb of memory on libvirt Vagrant boxes
- Clean up CORS setup in the installer
- Pin the
setuptools
version to ensure older versions of LibreTime can still be installed
Deprecated Features
- Removed broken Soundcloud integration
- Dropped support for Ubuntu Xenial as it is end-of-life
- Dropped support for Debian Stretch as it is end-of-life
- Removed SysV and Upstart init system files
- Removed broken My Podcasts feature
Contributors
The LibreTime project wants to thank the following contributors for authoring PRs to this release:
- @jooola
- @paddatrapper
- @xabispacebiker
- @malespiaut
- @zklosko
- @brekemeier
- @jeromelebleu
- @danielhjames
- @rjhelms
- @hairmare
Installation
The main installation docs may be found at https://libretime.org/install/. They describe a "developer" install using the bundled install
script.
We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded.
Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version.
If you want to skip the installer GUI completely you can configure LibreTime using legacy/build/airtime.example.conf
as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second install -fiap
install on a non productive system for reference can help with this type of bootstrap.
Updating
See the docs for complete information on updating. Please ensure that you have proper backups and a rollback scenario in place before updating. If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity.
If you installed from GitHub you can git pull
in your local working copy and re-run the ./install
script with the same --web-root
and --web-user
arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script.
Once the update has taken place, you will need to run the following commands to clean up old scripts and configuration:
# Remove the old packages
sudo pip3 uninstall \
airtime-playout \
airtime-celery \
api_clients
# Remove old entrypoints
sudo rm -f \
/usr/bin/airtime-liquidsoap \
/usr/bin/airtime-playout \
/usr/bin/pyponotify
# Remove old config files
sudo rm -f \
/etc/logrotate.d/airtime-liquidsoap
# Remove the old runtime and PHP directories
sudo rm -rf \
/var/run/airtime \
/run/airtime \
/usr/share/airtime/php/airtime_mvc
# Remove old python libraries entrypoints
sudo rm -f \
/usr/bin/airtime-liquidsoap \
/usr/bin/airtime-playout \
/usr/bin/libretime-analyzer \
/usr/bin/libretime-api \
/usr/bin/collectiongain \
/usr/bin/django-admin \
/usr/bin/django-admin.py \
/usr/bin/markdown_py \
/usr/bin/mid3cp \
/usr/bin/mid3iconv \
/usr/bin/mid3v2 \
/usr/bin/moggsplit \
/usr/bin/mutagen-inspect \
/usr/bin/mutagen-pony \
/usr/bin/pyponotify \
/usr/bin/replaygain \
/usr/bin/sqlformat
Known Issues
The following issues may need a workaround for the time being. Please search the issues before reporting problems not listed below.
Interface Customization Issues
The UI works best if you don't use it in an opinionated fashion and change just the bare minimal.
No watched folder support
Currently LibreTime does not support watching folders. Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. This is tracked in #70.
No line in support
This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. This is tracked in #42.
Playout won't work if locale is missing
Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. This is tracked in #317.
You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS.
# Set locale using systemds localectl
localectl set-locale LANG="en_US.utf8"
These instructions do not seem to work on all Debian based distros so you might need to use update-locale
as follows.
#Purge all locales but en_US.UTF-8
sudo locale-gen --purge en_US.UTF-8
#Populate LANGUAGE=
sudo update-locale LANGUAGE="en_US.UTF-8"