Libre Time is a free and open-source radio automation system. It allows users to schedule and broadcast pre-recorded and live audio, as well as create playlists and manage content libraries. Libre Time can be installed on a Linux system using the installer.

Before installing, make sure your system meets the minimum requirements of a 1 GHz Processor, 2 GB RAM recommended (1 GB required), and a properly configured firewall that's not blocking connection to the desired ports. Libre Time requires the following default ports to be open: 80 for the web interface, 8000 for the Icecast streams, and 8001 and 8002 for the live stream input endpoint.

The installer can be found in the released tarballs or directly in the project repository, and it is recommended to install on Debian 11 or Ubuntu 20.04 LTS. To start, check that your operating system time configuration is correct using the following command:

timedatectl

If your time zone is not set correctly, use the timedatectl set-timezone command to set it. Additionally, if the NTP service is inactive, consider enabling it using the timedatectl set-ntp command.

To download the latest released tarball, visit Github, or run the following command from the terminal:

wget https://github.com/libretime/libretime/releases/download/3.0.1/libretime-3.0.1.tar.gz. 

Extract the tarball using the command: 

tar -xvf libretime-3.0.1.tar.gz && cd libretime

Run the installer

Install LibreTime with the recommended options, be sure to replace PUBLIC_URL with the public URL of your installation, for example: https://libretime.example.com or http://192.168.10.100:80:

sudo ./install PUBLIC_URL

It is important to be cautious when upgrading LibreTime and ensure that you use the same arguments during the upgrade process as you did when initially installing the software. Failing to do so could result in unexpected issues or errors.

It is also important to exercise caution when updating the LibreTime nginx configuration file, especially when changing the --listen-port. To avoid overwriting the existing configuration file, make sure to add the --update-nginx flag.

If you need to change some configuration, the install script can be customized using flags or environment variables. For example, you could modify the listening port of LibreTime or choose to install certain dependencies on your own. To do so, simply run the appropriate command with the desired flags or environment variables.

# Install LibreTime on your system with the following tweaks:
# - don't install the liquidsoap package (remember to install liquidsoap yourself)
# - set the listen port to 8080
# - don't run the PostgreSQL setup (remember to setup PostgreSQL yourself)
sudo \
LIBRETIME_PACKAGES_EXCLUDES='liquidsoap' \
./install \
  --listen-port 8080 \
  --no-setup-postgresql \
  https://libretime.example.com

A helpful reminder is that you can store the installation configuration in a .env file located next to the installation script. This can make the process more streamlined and easier to repeat in the future. For instance, the command mentioned earlier could be saved in the .env file below. Once saved, you should be able to run the installation script without needing to provide any arguments:

LIBRETIME_PACKAGES_EXCLUDES='liquidsoap'
LIBRETIME_LISTEN_PORT='8080'
LIBRETIME_SETUP_POSTGRESQL=false
LIBRETIME_PUBLIC_URL='https://libretime.example.com'

NOTE:

During the installation process, the install script will create PostgreSQL and RabbitMQ users and update the default Icecast passwords using randomly generated passwords. These generated passwords will be saved in the configuration files for future use.

Feel free to run ./install --help to get more details.

Using hardware audio output

To output analog audio directly to a mixing console or transmitter, it is necessary to add the LibreTime user to the audio user group. This can be achieved using the following command:

sudo adduser libretime audio

Setup

Once the installation is completed, edit the configuration file at /etc/libretime/config.yml to fill required information and match your needs.

Next, run the following commands to setup the database:

sudo -u libretime libretime-api migrate

Finally, start the services, and check that they're running properly using the following commands:

sudo systemctl start libretime.target
sudo systemctl --all --plain | grep libretime

Next, continue by configuring your installation.

Was this answer helpful? 0 Users Found This Useful (0 Votes)