Best install set up

Is there an installation guide for dummies ? I’d need one I think.

I last installed and ran LT on ubuntu 14.04 but I suspect things must have moved on a bit.

Is there a definitive step by step guide (I know how to set up and secure a VPS) showing all the steps needed to successfully install LT ? If so any help on this much appreciated.

Thanks for your interest Paul.
The simple answer is no. The long answer is I’m working on it but I’m currently writing end-user orientated tutorials funded by a grant and done as part of a school project. I plan on doing a basic tutorial screencast along with written instructions for how to install LT.

The medium answer is that if you are OK using the latest version from git (as we prepare to release alpha.7) you can clone it and install it in a VPS running Ubuntu 18.04 by typing the following steps

git clone
cd libretime
sudo ./install -fiap
and then it should in theory download the latest packages etc and give you a working instance of LibreTime.

If you run into any issues you can post here. If you want to upgrade from your Ubuntu 14.04 instance then you should backup everything (sorry not thorough documentation her yet) and then upgrade to Ubuntu 16.04. You can run Libretime in Ubuntu 16.04 or you can then upgrade to Ubuntu 18.04 and then if you do the commands above in theory it should upgrade everything. But make sure to have a back up of your database, files, etc because if something doesn’t work you don’t want to run into any issues.

Hope that helps. Like I said I plan on doing the documentation currently I’m writing up scripts for how to use the new outro playlist feature along with time remaining smartblocks to fill in the gaps between shows that can result from letting the station automatically schedule tracks with autoloading playlists. Feel free to ask any questions etc here.

1 Like

Hi robbt -

Many thx for the lengthy and detailed reply. The old install of LT was a trial so a new install afresh is on the cards. I’ll follow your instructions and update later this week depending on how I get on.

So , set up a vps, ubuntu 18.04, installed apache and php, all went well and we are in business.

Just one question re icecast. Does the install automatically add usernames and passwords or is that something we do as we see fit ?

Many thx for the guide. It was a breeze compared to the install on 14.04

1 Like

Actually you need to change the icecast 2 passwords.
I recorded the screencast tutorial that contains a walk through for how to do this. Here is the draft of it -

Here is the text for the script if you prefer to read your way, my plan is to adapt it into a text based how-to-guide.

Feel free to give me any feedback on either of them.
Intro: A guide to LibreTime settings for Admins

This LibreTime tutorial is focused towards site administrators who have installed LibreTime and want an introduction to the admin only settings. We will also focus on how to customize the streams that LibreTime provides and how to secure your Icecast instance. You will need to have admin permissions to a libretime instance to follow along.

First off login with your Admin login now click on Settings.

Click on General on this page you can customize various settings and add your station name and a logo that will show up on your radio page and on the top left of your installation.

See other tutorials for descriptions and information on the autoloading playlists and podcast settings.

In addition the TuneIn settings have not been tested and require getting special access from TuneIn for your station to test.

Most of these settings can be left alone. Under Dangerous Options you have the ability to wipe out your entire track library with a few clicks. This is a good reason to reserve admin access for people who really need it. So I would suggest that if your station is put together collaboratively you create logins for each user. To do this we will click Users

LibreTime has 4 different User Roles but mostly you will want to create DJs who are responsible for specific shows and can upload tracks and Program Managers who have the ability to edit the calendar and schedule all shows.

We will create an example program manager to give your imaginary friend larry the ability to help you get your station setup.

Click New User type in a User Name

and then the same password twice

and whatever information you want to add, the only other required field is Email and then under user type select Program Manager then click Save.

LibreTime doesnt send automatic notifications about new accounts created so you will need to relay this information to any users you create accounts for.

If you select DJ as the user type the user will only be able to upload their own tracks and can only schedule shows they are given permission to. See our tutorial on creating shows for more information.

Guest is basically a read-only view that can’t access the track library and can view past and upcoming scheduled content on the calendar.

Another important section is the Status Page.

If everything here has a green check mark here then it means that everything is working.

Now we will explore the Streams section which is the most complex part of the admin and briefly talk about how to secure your Icecast setup which isn’t done by default if you installed from the install script.

Under Global you can enable Hardware Audio Output if you are using Libretime to feed an FM transmitter or otherwise want to create analog audio output. If you are doing this there are additional steps that might be necessary depending upon your OS.

You probably want to enable Auto Switch On if you plan on having you don’t want to require your DJs to take the additional step of toggling a the switch next to On Air after they connect to the stream.

Auto switch off will mean that your show will resume the playback of pre-scheduled shows after a DJ disconnects.

Otherwise you shouldn’t need to change any of the different settings unless your LibreTime instance is behind a firewall and you need to enable port forwarding.

Setting a login for master source username and password will provide anyone with this login the ability to broadcast over any existing show or even other live DJs who are using their show credentials. It should be used sparingly.

Now the important part. Default Streaming relies upon a hardcoded insecure password of hackme and so it should be changed before your station goes live.

In order to do this click Custom/3rd Party Streaming

Now you can type in the information here and change the bit rate. A higher bit rate will have better sound quality but will also require more bandwidth. LibreTime by default supports up to 3 streams.

Now you can play around with different settings here but by default icecast is installed on port 8000 and if you plan on using the Icecast server hosted by LibreTime then keep in mind the bandwidth that will be required to host listeners. If you were for instance hosting this off of a home or office internet connection rather than on a co-located or virtual private server if your station got popular enough it could negatively affect the internet connection for any other purposes. For a small hobby station with only a few listeners this could be fine but in general you might want to consider paying for a 3rd party icecast host or setting up your LibreTime instance in a datacenter or location with high amounts of bandwidth.

For the purposes of this tutorial we are going to assume that your libretime instance is using the built in libretime instance, the only thing that would change is you could put the hostname of a 3rd party server.

So this next step is important if you didn’t set up a new icecast2 password during the install process (this is next section will hopefully be outdated at some point). If you changed your icecast2 password you can skip forward and enter the new credentials otherwise I’m going to walk you through how to edit it from the command line) This is an important step because without it your libretime stream is insecure and anyone could in effect use your icecast stream and control the admin screen.

So we now we need to change the icecast2 config file. This requires actually modifying the underlying system config files if you are hosting your own libretime instance. So we are going to ssh into our server. This assumes that you have root or sudo credentials on the server you installed libretime. So go to a terminal on Linux or Mac OS X or use something like Putty.exe for windows and connect.

I will be connecting via ssh through vagrant for the purposes of this tutorial.

Once you have connected we are first going to back up and then edit your icecast config file


sudo cp /etc/icecast2/icecast2.xml /etc/icecast2/icecast2.bak

and then

sudo nano /etc/icecast2/icecast2.xml

you might need to type in your password again. If it says permission denied you will need to check your credentials or otherwise type su and type in the root password. Once you have access to editing the file you scroll by using the arrow keys.

Be very careful when editing this file as deleting the wrong line or adding an extra unneeded character could cause your stream to not work.

We just want to change where it says “hackme” to a secure password – this can be a random string of characters or something that you will remember. You generally wont need to type this in again after you save the password in your stream settings.

If you are using nanoe and you want to try a shortcut you can hold the Ctrl button and then type W and then Ctrl and then R and it should pop up with Search (to replace):

Type in hackme and then hit enter

now type in the password you want to use.

You can either click A for all or go through each change and confirm it. Basically you want to be sure you dont have hackme as a password anywhere.

Now you can save by holding Ctrl and then hitting the X

Type Y to save.

Now type

sudo service icecast2 reload

and this will restart icecast with your new password.

This will also shut off your stream until you go back and type in the new password into the Output Streams setting of LibreTime

Make sure you click additional options and type the source password under password and then your admin username which is admin (unless you changed it) and the password you put in there.

You can also customize the Stream Name, description, genre and mount point.

Finally click Save click ok to the pop up and

you will see a orange box that should turn green if you typed in the right credentials.

If something is wrong you will need to revisit the last steps via SSH and make sure the icecast2.xml file wasn’t malformed.

To reset things back with the insecure password so you can try again you can type in

sudo cp /etc/icecast2/icecast2. bak /etc/icecast2/icecast2.xml


sudo service icecast2 reload

This will set your default password back to hackme and you should then proceed to try to change it to make it something secure.

One you have this changed you will also enable the ability to create different streams for instance a low bit rate mobile stream or connect to a 3rd party stream provider.

Once you are done with this if you have the proper Admin username and password you can go to Analytics and then click on Listener Stats and it should show a green OK under Stream Data Collection Status – this means that Libretime will be periodically querying your stream to see how many people are listening at a certain time and you can view these stats over time.

And so that is all for this rather complex part of libretime setup. Keep in mind Libretime is alpha level software and so there are a lot of things that could be improved such as providing a better way to customize the icecast2 password. So if you are planning on running this as an admin prepare to be familiar with the community and the page and feel free to ask for help from the community if you run into any problems.

That concludes the LibreTime admin interface tutorial. We may do another tutorial that covers the actual install script and we might integrate the icecast change portions of this tutorial into that so feel free to gloss over that section if you have already done it. If you notice something other than hackme in your stream settings and the admin user and password filled in already then it is likely that we improved the install process. It is also possible that when you installed icecast2 you were asked to set a username and password. If that is the case then you can just type in what you changed it too.

1 Like

This did not work as it came up with no file. Having done this several times on AirTime install I went back to the AT install guide and used:

nano /etc/icecast2/icecast.xml

Worked fine.

Ohh yeah I forgot to fix that typo in the script, I corrected it in the video, Thanks for reminding me to fix it.

Hi -

Since the install LT has been excellent. And thank you also for the video tutorials - getting my head around smartblocks has been a v good use of time as it is saving masses of schedule fiddling.

The version of LT I have running is: eb122f52f and I see from the update box top right that …

New version available: [3.0.0-alpha.7]

How do I go about upgrading seeing as how I installed LT as per the instructions in this thread ?


Hey Paul, you can ignore that update message, it generally shows up if you install from Git. There have only been 1 commit since you installed. The only fix since then was making it so the advanced search button doesn’t require constant clicking.

We don’t have a great process for upgrading from git, you can pull the latest commits from git and then copy the files over on top of what is currently installed, and/or re-run the install script, which in theory should do the same thing. I recommend backing up your database and /usr/share/airtime-mvc/php directory first. Perhaps I should record a video for the various upgrade steps. But at this point you can ignore that message as there hasn’t been a lot of coding since you last posted.

Thx for the prompt and clear reply @robbt