Skip to main content
Version: Next

Install

This guide walk you though the steps required to install LibreTime on your system.

tip

If you are coming from Airtime, please follow the Airtime migration guide.

You can install LibreTime using the one of the following methods:

Minimum system requirements

warning

Make sure that you have configured a firewall and it's not blocking connection to the desired ports.

LibreTime requires the following default ports to be open:

  • 80 for the web interface,
  • 8000 for the Icecast streams,
  • 8001 and 8002 for the live stream input endpoint.

Using the installer

The installer is shipped in the released tarballs or directly in the project repository.

Download

You can either download the latest released tarball or clone the repository.

Download the latest released tarball from Github.

Or directly from the command-line:

wget https://github.com/libretime/libretime/releases/download/3.0.0-alpha.12/libretime-3.0.0-alpha.12.tar.gz

And extract the tarball:

tar -xvf libretime-3.0.0-alpha.12.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
caution

When upgrading be sure to run the installer using the same arguments you used during the initial install.

If you need to change some configuration, the install script can be configured using flags or environment variables. Changing the listening port of LibreTime or whether you want to install some dependency by yourself, you could run the following:

# Install LibreTime on your system with the following tweaks:
# - do not install the liquidsoap package (remember to install liquidsoap yourself)
# - set the listen port to 8080
# - do not 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
note

The install script will use randomly generated passwords to create the PostgreSQL user, RabbitMQ user and to update the default Icecast passwords. Those passwords will be saved to the configuration files.

info

By default, the install script will not restart any service for you, this is to prevent unwanted restarts on production environment. To let the install script restart the services, you need to pass the --allow-restart flag.

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

Using hardware audio output

If you plan to output analog audio directly to a mixing console or transmitter, the user running LibreTime (by default www-data) needs to be added to the audio user group using the command below:

sudo adduser www-data audio

Setup

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

Next, run the following commands to setup the database:

sudo -u www-data libretime-api migrate

Synchronize the new Icecast passwords into the database:

sudo libretime-api set_icecast_passwords --from-icecast-config

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

sudo systemctl start libretime.target

sudo systemctl --all --plain | grep libretime

Once completed, it's recommended to install a reverse proxy to setup SSL termination and secure your installation.