Commit Graph

494 Commits

Author SHA1 Message Date
jo cf36eec5f8 Update paths after wroker move 2021-10-17 08:02:47 +00:00
jo 08f13d850c Update paths after analyzer move 2021-10-17 08:02:47 +00:00
Kyle Robbertze 2f3adac09d
Merge pull request from jooola/feat/rename_python_packages
Rename python packages/entrypoints
2021-10-14 14:06:50 +00:00
jo 25e947c8bf Rename airtime-liquidsoap to libretime-liquidsoap
BREAKING:
sudo rm -f \
  /etc/logrotate.d/airtime-liquidsoap
2021-10-14 15:31:59 +02:00
jo 67db856fd8 Pin setuptools to ^58.0 in installer 2021-10-14 15:23:58 +02:00
jo c4c89eae19 Fix paths after legacy rename 2021-10-11 13:43:39 +02:00
jo a55962a42c Remove unused /run/airtime directory 2021-10-06 18:10:22 +02:00
jo 33933467a3 Move legacy packages.ini to airtime_mvc 2021-10-05 15:00:06 +02:00
jo 6013434393 Install api with prod extra requires 2021-10-01 17:49:33 +02:00
jo 691b564ad5 Install api using pip 2021-10-01 17:44:16 +02:00
jo af656d5481 Install analyzer with pip and change script prefix to default /usr/local 2021-10-01 17:43:20 +02:00
jo 53af85de02 Install celery using pip 2021-10-01 17:42:33 +02:00
jo d7615cfe37 Install pypo with pip and change script prefix to default /usr/local 2021-10-01 17:41:20 +02:00
jo 24203e2086 Install api_clients using pip 2021-10-01 17:37:47 +02:00
jo 51f152dbd0 Refactor pip install command 2021-10-01 17:37:23 +02:00
jo aad92c4ac1 Revert 77315885b9
And remove prod extra requires for api because ./setup.py install
don't handle extra requires.
2021-09-17 07:23:26 +02:00
jo eb223a6951 Install the api with prod extra 2021-09-13 15:01:06 +02:00
jo 77315885b9 Use pip to install apps on the system 2021-09-13 15:00:31 +02:00
jo 9a7c3e0d21 Replace build.sh with make to manage airtime_mvc 2021-09-11 04:55:51 +02:00
jo 03b109dcb5 Fix paths after composer.* files move 2021-09-11 04:48:53 +02:00
jo 7cb3501540 Rename scripts/ to tools/ 2021-09-07 23:03:19 +02:00
jo cac25543c6 Drop Upstart support 2021-09-02 14:30:31 +02:00
jo 3da0310173 Drop SysV support 2021-09-02 14:30:31 +02:00
jo 4bd76f096c Fix packages path in installer 2021-09-01 15:33:48 +02:00
jo b5c9a6b2c7 Use packages manager in install script 2021-08-31 16:07:29 +02:00
Marc-Alexandre Espiaut 44e654bc95
Fixing a permission bug in the install script.
On a fresh Ubuntu 18.04 install, the script stops when trying to execute `build.sh`. Calling `bash` to launch the script fixes the issue.
2021-08-24 08:00:16 +00:00
Kyle Robbertze cd60f4f7a9
Revert "Fix default web_root" 2021-08-17 21:14:15 +02:00
Kyle Robbertze bb941c2f22
Merge pull request from paddatrapper/fix/web-root
Fix default web_root
2021-08-17 21:11:53 +02:00
Kyle Robbertze c3e60640d4 Fix default web_root 2021-08-17 21:11:07 +02:00
jo 60bd49fa62 Fix bad logic
Before the formatting, the check was useless.
The fixes from the formatting/linting PR messed the logic.
2021-08-17 13:38:31 +02:00
jo 9881eebf55 Fix shellcheck warnings 2021-08-17 12:23:36 +02:00
jo dc999f9006 Fix shellcheck errors 2021-08-17 12:23:32 +02:00
jo b5f302ac61 Enhance bash shebangs 2021-08-17 12:22:47 +02:00
jo 8b3e09d41c Format shell scripts
Fix flags order
2021-08-17 12:22:46 +02:00
jo 8ce437828e Remove install apt-get dangerous options
Apt should fail fast (and report) instead of
forcing a broken installation.

The version check is also not required anymore as
most distribution now provide an apt version > 1.1.
2021-08-17 00:07:39 +02:00
jo 4033b20ee8 Rename apt requirements directory to apt
Previously ignored by the top level .gitignore, because
lib/ is a reserved directory name for python builds.
2021-08-15 14:16:55 +02:00
jo f00e912618 Fix installation failure on install -fap
When installing Icecast manually, we don't want the installer to interfere
with the icecast.xml config file by changing the passwords.

The script was failing trying to copy the Icecast password file it didn't create.
2021-08-11 17:21:02 +02:00
Kyle Robbertze d58fe19ae3
Merge pull request from paddatrapper/chore/remove-bionic
Drop Ubuntu Xenial support
2021-07-16 15:02:55 +02:00
Kyle Robbertze f5ca20ed3e install pycairo before PyGObject
Fixes: 
2021-07-15 10:27:23 +02:00
Kyle Robbertze f94e90a7f6 update documentation to remove bionic 2021-07-12 10:13:07 +02:00
Kyle Robbertze fa5db502ed Drop Ubuntu Xenial support
Fixes: 
2021-07-06 10:27:17 +02:00
Kyle Robbertze c26abba7a9 drop Debian Stretch support
Fixes 
2021-06-18 22:26:56 +02:00
jo 6871956baa Fix end of files 2021-06-04 17:06:05 +02:00
Kyle Robbertze 2024f9a887 install api 2.0 apache config on update 2021-05-19 19:22:15 +02:00
Kyle Robbertze 2df0189a90 add API v2 2021-05-14 13:04:46 +02:00
Lucas Bickel e21abf1bf1 refactor(airtime_analyzer): rename to libretime-analyzer and make entrypoint pythonic 2021-01-04 10:30:27 +00:00
Lucas Bickel 23c97763b5 fix(installer): proper python binary for non centos 2020-12-27 14:29:59 +01:00
Lucas Bickel 194682d89c fix: update to CentOS 8 2020-12-26 12:59:54 +01:00
Kyle Robbertze dd6236bbce Fix Ubuntu condition checking for add-apt-repository 2020-12-14 12:34:40 +02:00
Zachary Klosko 1833ba7347 Merge remote-tracking branch 'upstream/master' 2020-12-02 15:18:36 -05:00
Lucas Bickel 63db4e0b89
Merge pull request from paddatrapper/installer
Force fixed strings on grep for media-monitor
2020-11-30 21:42:09 +01:00
Zachary Klosko ad28c7de99 Add our PPA to Ubuntu installs 2020-11-23 15:38:06 -05:00
Zachary Klosko de74fba187 Changing installer requirements 2020-11-16 13:58:16 -05:00
Zachary Klosko 55258882c9 Assorted work 2020-11-14 21:34:21 -05:00
Kyle Robbertze 78fdab1285 enable icecast service during install
fixes 
2020-10-26 12:06:46 +02:00
Zachary Klosko 6540a34a9b Adding back scripts in /docs 2020-05-19 10:16:31 -04:00
Kyle Robbertze 4380ab9434 Force fixed strings on grep for media-monitor
Fixes removing the config file on re-running install
2020-05-18 15:13:19 +02:00
Kyle Robbertze 2dd4a6df51 systemd units handled on their own 2020-05-15 18:32:47 +02:00
Kyle Robbertze c44346fe94 Rename all systemd, sysvinit and upstart files to libretime
Fixes: 
2020-05-15 15:32:13 +02:00
Kyle Robbertze 8346e89e99 install successfully using py3 2020-04-29 19:05:35 +02:00
Robb Ebright fffedd43c3 Added qualifier to icecast check 2020-03-17 11:22:11 -04:00
Robb Ebright 595ad7f0bd Merge branch 'fix-installer' of https://github.com/paddatrapper/libretime into paddatrapper-fix-installer 2020-03-17 10:18:21 -04:00
Kyle Robbertze 52dd3f8ffa
Merge pull request from codenift/lt_install_fix
Install fix
2020-01-23 08:58:55 +02:00
Codenift 7c524fb0af
Quick fix for install
Work around until  is merged. Helps with the issue many are having by installing a previous package of zipp, 1.0.0
2020-01-22 15:02:10 -05:00
Kyle Robbertze a29a35034d fix existing config check 2020-01-22 15:20:27 +02:00
Robb Ebright 4be7699eec made sure that icecast pass is not changed upon upgrade or reprovision 2020-01-09 08:36:52 -05:00
Robb Ebright 1c89675f6e made sure icecast_pass was copied to airtime directory upon reprovision 2020-01-09 08:04:09 -05:00
Kyle Robbertze 5cfa57234b
Merge pull request from Robbt/icecast-password
change default icecast password automatically during install
2020-01-08 13:50:56 +02:00
Robb Ebright 336e7d82b1 fixed installer to not change pass during upgrade and add centos support 2020-01-07 10:40:30 -05:00
Robbt edaa2ead85 fixed new line in php 2020-01-03 20:14:02 -05:00
Robb Ebright 5d3295c86c first stab at icecast password change on install 2020-01-01 21:03:30 -05:00
Robb Ebright 1139f82ef2 fix rasbian debian 10 install 2019-12-28 09:01:22 -05:00
Lucas Bickel f75c533d0b 💥 (ubuntu) drop trusty from installer 2019-07-14 11:30:36 +02:00
Kyle Robbertze c78a8e178e Deprecate Debian Jessie
Closes 
2019-06-02 13:23:33 +02:00
Kyle Robbertze b5325f45ff Fix systemd detection logic 2019-02-28 21:56:59 +02:00
Kyle Robbertze 916cc35058 Allow init package detection to fail.
As the init system isn't necessarily shipped in a package (dpkg and
rpm fail), then use the PID 1 file path to assume the init system.
2019-02-28 21:56:59 +02:00
Kyle Robbertze a414bc3418 Add support for Buster in the installer 2019-02-28 21:56:59 +02:00
Kyle Robbertze ddf34a1f9b fix grammar in Jessie warning 2019-01-11 11:49:24 +02:00
Kyle Robbertze a3f329834e Add warning for the deprecation of Debian Jessie
Jessie is out of security support and will be dropped in
LibreTime 3.0.0-alpha.8

Fixes 
2019-01-11 09:03:22 +02:00
vagrant 85f75fcadf made Y default value for install script 2018-12-18 15:34:58 +00:00
Lucas Bickel 1d7823468f drop wheezy support
Removes the Vagrant set up for Debian wheezy and makes the installer abort and complain if started
on wheezy.
2018-11-22 00:39:55 +01:00
Lucas Bickel 5347af43c1 🐛 (installer) Add Trusty EOL warning 2018-10-14 11:52:04 +02:00
Lucas Bickel 6898c4dc8e 📦 (installer) add Ubuntu Bionic Beaver Vagrant box 2018-10-12 21:12:07 +02:00
David 7ad096bd5b add xenial minimal flags 2018-09-16 22:19:10 +10:00
David 6222e56ee4 add defaults for no-postgres and no-rabbitmq options 2018-09-16 22:13:30 +10:00
David 9f15b2d3df begin docker xenial support 2018-09-16 21:55:55 +10:00
Robb 914e2a2384
Merge pull request from WiccyShackleton/master
Fix to the installer to enable successful install on Raspbian 9 (stretch)
2018-05-24 14:36:04 -04:00
WiccyShackleton 46a820b817 Marked where the raspbian stretch fix is located 2018-04-04 02:07:39 +00:00
WiccyShackleton 81e0832a2f Modified install to recognise Raspbian Stretch 9 as Debian Stretch - installer now works on Raspberry Pi 2 and above 2018-04-04 01:55:10 +00:00
Lucas Bickel b718a1b53b Remove obsolete settings from master config template 2018-03-02 13:12:19 +01:00
Lucas Bickel 538bfb8426 Fix install --version 2018-02-05 18:46:08 +01:00
Kyle Robertze c16d7c2a1d remove media-monitor
airtime-media-monitor conflicts with airtime-analyzer, which is what
is now used to monitor the LibreTime application

https://github.com/LibreTime/libretime-debian-packaging/issues/2#issuecomment-359987457
2018-01-24 09:20:51 +02:00
Xabi Spacebiker 167f7d1c98 Update install 2017-10-05 01:04:02 +02:00
Xabi Spacebiker 09dbe3ea06 Update install
Adding support for Debian 9 Stretch
2017-10-05 00:17:46 +02:00
Lucas Bickel 2b64fe0d96 Disable media-monitor on update
The installer originally contained code to stop media-monitor on
updates. This code was removed together with media-monitor. In
the update case we want to make sure that media-monitor is never
running after updating to LibreTime.

The stop command will fail with a warning on systems that never
had media-monitor installed. This warning can be ignored and the
other services stopped with the same command still get stopped
as intended.

Fix 
2017-08-06 22:34:22 +02:00
Lucas Bickel fa2018a2c5 Simplify configuration file structure
This removes most of the legacy upstream config madness by not using
weird config files spread all over the place.

This isn't the solution to other config reading fragility issues, but
it does move the whole config back to the central airtime.conf file.
2017-07-21 13:15:28 +02:00
Lucas Bickel 9c5b769cf0 Fix update warning
I fixed the manual installer to ensure that the VERSION file ends up
in the right directory on install.

I also took care of the pre-release parts of the naggingness. It shows
no updates as long there is no stable release for the current version.
As soon as one is available it uses the orange update icon to alert the
user that an update would be in order since a stable version has been
released.
2017-07-17 21:15:51 +02:00
Lucas Bickel 5013a76060 Don't start services on install
We need to wait until the setup routine is finished or else the
install will fail when starting celery.
2017-06-27 22:44:13 +02:00
Lucas Bickel 43eb777177 Clean up file creation and remove std_err_override
* Re-order folder creation to make a bit more sense (the log file creation step was unreachable because python scripts always created the checked dir early)
* create dirs from pypo data_files in installer so pypo can run out of the box on a new install
* Fix path to logrotate script (logrotation needs testing though)
* Remove std_err_override module from install. Code-wise only airtime-media-monitor is still based on it and that is slated for removal together with std_err_override.
2017-05-01 19:04:40 +02:00
Bill Burton 3179651dec Installer auto-detects distro, portable system init
The theme of this commit is to make the install process more
resiliant to differences in distros by testing for specific
features or versions of executables rather than making as many
assumptions just on the distro and release.

* Distro and Release detection (install, Vagrantfile)
  - Added detection logic for distro and release based on
    /etc/os-release which is available on all potential supported
    distros. The --distribution and --release options can be used
    to override detection.
  - Added distro and release checks to ensure values specified are
    for a supported release.
  - Changed some distro checks to use booleans, e.g.
    if $is_centos_7; then ...
  - Added a simple check so if --distribution is specified, it will
    ensure it's at least sane, e.g. centos on debian or debian on
    centos will be caught.
  - In Vagrantfile, removed --distribution and --release options for
    all distro and release combinations.

* Portable Init System Detection and Management (install, centos.sh)
  - Added detection logic for init system type - systemd, Upstart or
    System V in the function systemInitDetect().
  - Added portable init system install in the function
    systemInitInstall() which depends on systemInitDetect(). After
    installing files, enables and starts service.
  - Added portable init system commands in the function
    systemInitCommand() for start, stop, reload, restart and status.
  - Python services don't support systemd but unconditionally install
    scripts for both Upstart and System V. Disabled by passing
    --no-init-script to setup.py for each service.
  - When upgrading, remove all old system init files in /etc/init,
    /etc/init.d, /etc/default and /etc/systemd/system.
  - In centos.sh, removed install of airtime systemd service files
    as it's now handled by install.
  - Created an Upstart .conf for airtime-celery
  - In systemd file for airtime-celery, changed absolute path to
    /usr/local/bin/celery and for centos, the install symlinks
    celery to /usr/local/bin.

* External Dependencies Install (install)
  - For external dependencies, only attempt to install for Debian-
    based distros with apt-get. For centos, a warning is displayed.
  - For systems with apt-get, detect version and if 1.1 or greater,
    use new force options, otherwise use --force-yes option.

* Configuring Apache (install)
  - For Apache, check for centos and use httpd for binary and
    service, otherwise use apache2ctl and apache2.
  - Detect Apache version 2 or better in a more reliable manner.
  - Detect Apache root folder and conf file name by running
    apache2ctl -V or httpd -V as appropriate.
  - Various checks for centos as it doesn't support the Debian
    Apache utilities a2ensite/a2dissite, a2enmod/a2dismod, etc.

* Installing Airtime Services (install)
  - Detect Python version. If less than 2.7.9, install OpenSSL
    support.
  - Prevent installing init files by passing --no-init-script to
    setup.py for each service.
  - Use systemInitInstall to install, enable and start each service
    after setup.py has run.
  - Removed filtering for WEB_USER for files in
    /etc/init/airtime*.template as that is handled in the
    systemInitInstall() function.

* Configuring PHP in Apache (install)
  - Detect PHP conf folder by checking a list of locations rather
    than making assumptions based on the distro and release.

* Configuring PostgreSQL (install)
  - Detects if the airtime user has already been created. If not,
    then creates the user.

* Installing Locales (install)
  - Minor changes to check for centos and prevent from running.
2017-04-28 11:00:50 -04:00