Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Subscribe to our newsletter

Advertise on LowEndTalk.com

Latest LowEndBox Offers

    Airtime revival: Introduce to Libretime (cloud internet radio automation) and install tutorial
    New on LowEndTalk? Please read our 'Community Rules' by clicking on it in the right menu!

    Airtime revival: Introduce to Libretime (cloud internet radio automation) and install tutorial

    jvnadrjvnadr Member
    edited July 15 in Tutorials

    Hi all!

    I posted 3 years ago a tutorial on how to install airtime, a revolutionary cloud internet (and not only) radio automation system. Sourcefabric has abandoned the free, open source version of the project (reasons can be found here) and a team toop over last year and forked the project to a new, actively developed one. And it is really much better from airtime, as it now runs on modern OS and has some new features (integration with web pages etc.).
    It works mainly on Ubuntu 16.04 but it should work also on debian 9, 10 and ubuntu 18.04

    How to install it

    It can be installed on any vps or dedicated server, even on NAT environment (I will post when I have more time instructions for NAT).

    Prepare the server, secure it and install the necessary stuff (fail2ban, git, sudo, wget etc.).

    Prepare the basics for the airtime installation.
    Install apache2, icecast2 and postgresql

    apt-get install apache2 icecast2 –y
    apt install postgresql postgresql-contrib –y
    

    set a password for the postgres user.

    sudo -u postgres psql template1
    ALTER USER postgres with encrypted password 'your_password';
    

    edit the file /etc/postgresql/9.5/main/pg_hba.conf to use MD5 authentication with the postgres user

    local all postgres md5

    restart the PostgreSQL service

    systemctl restart postgresql.service

    Update locales to minimum
    localectl set-locale LANG="en_US.utf8"

    or

    sudo locale-gen --purge en_US.UTF-8
    sudo update-locale LANGUAGE="en_US.UTF-8"
    

    Enable uploading of files by correcting folder’s properties

    chmod -R 775 /srv/airtime

    — Mod edit: added @jvnadr’s extra note —

    A mistake from my part: use the chmod AFTER the installation of libretime server (it make sense, or else, the /srv/airtime/ folder would have not yet been created )

    • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
    • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    Comments

    • jvnadrjvnadr Member
      edited July 14

      Copy the latest libretime release from here: https://github.com/LibreTime/libretime/releases

      Untar, enter the directory and run
      ./install

      Enter your main ip and follow the instructions to complete Libretime installation.
      In the prompt, use the default libretime postgresql password. When completing the installation, change it.

      sudo -u postgres psql
      \password airtime
      \q
      

      Modify the db pass with the new password in the file /etc/airtime/airtime.conf

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jvnadrjvnadr Member

      Firewall

      As the devs saying, LibreTime should only be run on a Server behind a firewall. You can run iptables. In my case, I use CSF and allowing only the ports I actually use. Open ports:
      80 (webserver of the LibreTime interface) or 443 (if you use secure access).
      8000 (Icecast)
      8001:8002 (Master and Show source input ports for icecast2 on Libretime)

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jvnadrjvnadr Member
      edited July 14

      AAC encoding

      If you want to stream with AAC encoding, you should run this:
      download the latest version of fdk-aac from here:
      http://sourceforge.net/projects/opencore-amr/files/fdk-aac/

      Follow this:

      apt-get install build-essential
      (in case it is not installed)

      Untar and enter the aac version you downloaded

      tar xzf fdk-aac-xxxxxxxxxx.tar.gz
      cd fdk-aac-xxxxxxxxx
      

      And run this:

      ./configure --prefix /usr
      make
      sudo make install
      

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jvnadrjvnadr Member
      edited July 14

      To enable AAC+ on GUI, run:

      https://pastebin.com/dl/Hza1W8M6

      As you have secured your postgresql, you will get a prompt for a password after an error of no access. Just enter your root postgresql password there and it will be ok.

      Custom liquidsoap build

      If you want to build your own liquidsoap for Libretime, you have to follow airtime’s instructions. Unfortunately, support for free airtime has abandoned and Sourcefabric has removed most free help page for that. But, Internet Archive has the instructions, so, visit this:
      http://web.archive.org/web/20130906192421/https://wiki.sourcefabric.org/display/CC/Building+Liquidsoap+from+Source

      More info

      Manual and tutorials are here:
      https://libretime.org/manual/howtos/
      It is not complete, actually it is based on airtime 2.5 tutorials.

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jvnadrjvnadr Member
      edited July 14

      Sorry for the multiple posts, but cloudflare's rules wouldn't allow me to paste it in complete and with code in it...

      Have fun!

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • Thanks for posting this!

    • kendidkendid Member

      Thanks for posting this! I followed your previous tutorial with Airtime and it's been working great. I'm anxious to try this out! I didn't even know this fork existed!

    • jvnadrjvnadr Member

      jvnadr said: Enable uploading of files by correcting folder’s properties

      jvnadr said: chmod -R 775 /srv/airtime

      A mistake from my part: use this AFTER the installation of libretime server (it make sense, or else, the /srv/airtime/ folder would have not yet been created ) :)

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • doghouchdoghouch Member

      @jvnadr Added your “A mistake from my part: use this AFTER the...” note to the appropriate post ;-)

    • jvnadrjvnadr Member

      @doghouch

      Thanks a lot!

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jcalebjcaleb Moderator

      sorry for necromancing this thread. @jvnadr how would you compare airtime with azuracast?

      Thanked by 2Dazzle jvnadr
    • I have tested azuracast much less than I have worked with airtime but it is much easier to install and run. Airtime (or, I should now say libretime, the open source fork after the original developers abandoned the free project) was always a little weird in terms on functionality and web interface and it was easy to break one of their components...
      Azuracast has a way more modern and easy to use interface, it is not complicated and seem like a cms interface.
      Ah, and a great aspect is that it can run on a NAT vps with just 256 memory, I deployed one there and it worked.
      Now that you reminded me I have not tested it a lot, i will spin a couple of instances the next days and will write a review and tutorial on LET, when I find some time!

      Thanked by 2jcaleb Dazzle

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jcalebjcaleb Moderator

      Which is more stable in your opinion?

      I tried the demo page of azuracast. there is a schedule page but not editable. i am not sure if its only playlist loop or can do airtime like schedule

    • jcalebjcaleb Moderator

      thank you btw for your insight

    • jcalebjcaleb Moderator

      i did not try your tutorial i was trying to install libretime earlier using deb package and running into issues. then i look at your tutorial again. it seems ok. but maybe azura is simpler

    • Azyra is simpler. I don;t know if it is stable, because I just did some short tests. Libretime , though, is stable.

      Thanked by 1jcaleb

      • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
      • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

    • jcalebjcaleb Moderator

      @jvnadr thank you so much. I might just go with libretime. I have tried airtime before and a bit familiar with it.

    Sign In or Register to comment.