Commit Graph

200 Commits

Author SHA1 Message Date
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
Kyle Robbertze fa5db502ed Drop Ubuntu Xenial support
Fixes: #1226
2021-07-06 10:27:17 +02:00
Kyle Robbertze c26abba7a9 drop Debian Stretch support
Fixes #1194
2021-06-18 22:26:56 +02:00
jo f2e840989a Fix executable bit 2021-06-04 17:06:05 +02:00
jo 6871956baa Fix end of files 2021-06-04 17:06:05 +02:00
jo d8195f0fd8 Fix trailing whitespaces in files 2021-06-04 17:06:05 +02:00
jo 65f7b41487 Fix spelling 2021-06-04 17:04:53 +02:00
Robb 7647476f60
Merge pull request #958 from paddatrapper/api2.0
API 2.0
2021-05-21 19:16:24 -04:00
Kyle Robbertze 2df0189a90 add API v2 2021-05-14 13:04:46 +02:00
Kyle Robbertze 79ea5dfc73 fixup: remove duplicate lines 2021-05-03 16:47:19 +02:00
Kyle Robbertze 12c8f18671 Install python3-dev
Fixes: #1191
2021-04-19 09:16:57 +02:00
Lucas Bickel d67f321f74 fix(centos): update to python 3.8 and install psycopg 2021-01-04 11:50:06 +01:00
Lucas Bickel 194682d89c fix: update to CentOS 8 2020-12-26 12:59:54 +01:00
Zachary Klosko ad413338e1 Merge remote-tracking branch 'upstream/master' 2020-11-19 12:02:06 -05:00
Zachary Klosko a5023d031a pin PyGObject versions to distro provided packages
this prevents pip trying to build the pypi package and failing.
Fixes: #1107
2020-11-18 17:49:51 +02:00
Zachary Klosko de74fba187 Changing installer requirements 2020-11-16 13:58:16 -05:00
Zachary Klosko 6540a34a9b Adding back scripts in /docs 2020-05-19 10:16:31 -04:00
Kyle Robbertze 6ebb1fd555 more pypo fixes 2020-04-29 19:06:52 +02:00
Kyle Robbertze 39e986a39c use packaged version of pycairo 2020-04-29 19:06:52 +02:00
Kyle Robbertze b8225b429e remove lists for unsupported releases 2020-04-29 19:06:52 +02:00
Kyle Robbertze 4188baf851 update requirements to use python3 2020-04-29 19:06:52 +02:00
Kyle Robbertze 8346e89e99 install successfully using py3 2020-04-29 19:05:35 +02:00
Keoni Mahelona 4b3bff7c29
Add silan package to Debian Buster install 2020-03-11 22:57:17 +13:00
Robb Ebright 336e7d82b1 fixed installer to not change pass during upgrade and add centos support 2020-01-07 10:40:30 -05:00
Robb Ebright f42f331c29 added xmlstarlet to centos based vagrant install 2020-01-07 08:50:32 -05:00
Robb Ebright 5d3295c86c first stab at icecast password change on install 2020-01-01 21:03:30 -05:00
Kyle Robbertze baa23d2107
Merge pull request #856 from radiorabe/chore/centos-puias-fix
Remove puias dependency (now covered by epel, nux)
2019-08-18 21:56:27 +02:00
Lucas Bickel 2a387de69f ♻️ (systemd) add missing After dependency 2019-08-18 21:32:18 +02:00
Lucas Bickel 0ca6671355 (installer) remove puias dependency (now covered by epel, nux) 2019-08-18 18:05:16 +02:00
Lucas Bickel f75c533d0b 💥 (ubuntu) drop trusty from installer 2019-07-14 11:30:36 +02:00
Kyle Robbertze a414bc3418 Add support for Buster in the installer 2019-02-28 21:56:59 +02:00
Kyle Robbertze 4556318967 merge ubuntu and debian provision scripts 2019-01-18 11:43:18 +02:00
Robbt 8a6f992aa5 Increased podcast download timeout to 1800 seconds 2018-10-21 17:18:29 -04:00
Lucas Bickel 6898c4dc8e 📦 (installer) add Ubuntu Bionic Beaver Vagrant box 2018-10-12 21:12:07 +02:00
David 9f15b2d3df begin docker xenial support 2018-09-16 21:55:55 +10:00
amavarick 91b7e05157 Add zip and unzip to requirements 2017-10-11 16:48:25 -04:00
amavarick 391e02e3eb Add zip and unzip to requirements 2017-10-11 16:48:01 -04:00
amavarick 5296d08c06 Add zip and unzip to requirements 2017-10-11 16:47:41 -04:00
amavarick 2441444b6c Add zip and unzip to requirements 2017-10-11 16:47:20 -04:00
amavarick 4c783da375 Add zip and unzip to requirements 2017-10-11 16:46:56 -04:00
amavarick 40e47b3a8b Add zip and unzip to requirements 2017-10-11 16:46:11 -04:00
Xabi Spacebiker 0be55ca986 Create requirements-debian-stretch.apt
Adding support for Debian 9 Stretch
2017-10-05 01:06:46 +02:00
Lucas Bickel 81f6845fc5 Add python-pika to install script
Currently pip is pulling a new pre-release version of pika. This
version does not seem to be backwards compatible and is the reason
why uploads fail on new installs.

Since there are packages available for pika on all major distros
we can get away with just installing those as pip will not try to
replace/upgrade them the way it is currently configured.
2017-08-05 13:26:37 +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
Lucas Bickel 122166216a Merge pull request #157 from Lapotor/Ubuntu-16.04-Update
Ubuntu 16.04 installer update
2017-04-20 15:21:56 +02:00
Lapotor 74d58b7555 Removed upstart-sysv comment 2017-04-19 20:45:17 +02:00
Lucas Bickel b9d95f72ae Merge pull request #151 from Lapotor/alsa-ubuntu
Alsa-ubuntu.deb Update
2017-04-11 11:08:30 +02:00
Lapotor 2b56932f18 Updated alsa_deb file
I looked up that the Alsa file name notlonger exist so i Updated it
2017-04-11 11:05:41 +02:00
Lapotor a6d6b8a06c Deleted upstart from auto install 2017-04-11 06:04:29 +02:00
Lapotor 78e54eed0b added curl 2017-04-11 05:24:45 +02:00
Lapotor ad2435b2e6 Added php-bcmath and php-mbstring which are needed 2017-04-11 03:12:42 +02:00
Lapotor fe92fd00cc Create requirements-ubuntu-xenial.apt 2017-04-09 21:51:17 +02:00
Lapotor 9160ffaf20 Delete requirements-ubuntu-xenial.apt 2017-04-09 21:43:02 +02:00
Lapotor 92eb3946ab Create requirements-ubuntu-xenial.apt
Made a list of pakages which arent't avaibled in Ubuntu 16.04
2017-04-09 20:48:36 +02:00
Lucas Bickel 19320e623c Install curl on all platforms
As per the https://github.com/LibreTime/libretime/issues/145#issuecomment-292744215 it looks like we always need to install this.
2017-04-09 12:48:04 +02:00
Lucas Bickel 7d1bc8730d Install python-rgain and mp3 deps 2017-04-01 00:10:25 +02:00
Lucas Bickel b267036483 Fix recording through ecasound
This is part 2 of fixing ecasound recordings from line-in. Part 1 restored the User-Interface, part 2 takes care of getting to the point where ecasound gets started, records something and uploads it through rest when done. Part 3 will take care of making sure that the recorded file is mapped to the show and not just stored as a new track.

I refactored api_clients to not use urllib2 for posting multipart data since I was loosing my sanity over it and requests seems to have a modern approach to doing this compared to what api_clients was previously doing.
2017-03-24 15:15:37 +01:00
Lucas Bickel 90ac159a52 Restart services always with systemd
This essentially results in the same behaviour legacy upstream was exploiting in upstart. Normally I would argue that depending on such a feature as part of an applications runtime feature-set is bad. This applies, but until we can get that sorted at another leevel this makes everything work as intendend when running tthrough systemd.
2017-03-18 12:28:17 +01:00
Lucas Bickel 7f8b73d9ae Add missing playout dependency 2017-03-13 20:56:59 +01:00
Lucas Bickel d2ffb6d91d Add missing packages 2017-03-13 14:10:03 +01:00
Lucas Bickel c29285ae48 Vagrant Debian support (and experimental CentOS)
This changes the Vagrant setup to support multiple installations as multiple
boxes. In addition to Ubuntu Vagrant can now be used to install on Debian
as well as on CentOS.

I took the chance to clean up the .deb install a bit and backported analyzer
and celery to SysV proper so it runs there. Some of the distro specfics were
moved to the install script from the python setup scripts to acheive this.

For the CentOS support I added a rather involved OS prepare script. In the
long term this will be added to the preparing-the-server docs we already have.

I had to switch the default port to http-alt (8080). On CentOS 9080 is registered
for ocsp and getting it to work for apache without hacking SELinux is hard. I
think 8080 is the RFC way to go anyhow. If anyone want to override this it
should be rather easy using the --web-port arg and by hacking Vagrantfile.

The PyOpenSSL code has been refactored for all the distros that the Vagrantfile
now supports.

As far as my checks go, I tried this code with all the distros, uploaded a track
and downloaded a unicode and a ssl podcast and was able to listen to them
in each case.

In the experimental CentOS case, the UI is not up to spec since services
need to get scheduled through systemctl and the status overview (ie. on the /?config page)
do not work properly. They need to be as follows:

```
sudo systemctl start airtime-playout
sudo systemctl start airtime-liquidsoap
sudo systemctl start airtime_analyzer.service
sudo systemctl start airtime-celery.service
```
2017-03-12 13:42:22 +01:00
Robb Ebright 880496c20f Merge branch 'install-fix-python-ssl-workaround' of https://github.com/Robbt/libretime into Robbt-install-fix-python-ssl-workaround 2017-03-11 09:56:46 -05:00
Robb Ebright 2ae2377ee2 Modified install script to install PyOpenSSL for Ubuntu 14.04 for airtime-celery SSL fix 2017-03-10 17:13:24 -05:00
Lucas Bickel bd2f96acf2 Switch LibreTime port to 9080 in vagrant
Also expose icecast and make the airtime port generally configurable from the installer.

To aid in debugging and support the -v (verbose) argument was added to the call.
2017-03-07 13:26:52 +01:00
Lucas Bickel 9735e4cfd7 Remove zf1 requires from installer
We use it from vendor/ so there is no need to install it any more.
2017-03-02 13:47:07 +01:00
Duncan Sommerville 9ba6ab3ef7 Add modrewrite conditions to apache 2.4 vhost template 2015-06-17 14:53:31 -04:00
Albert Santoni 674d748149 CC-6058: htaccess should be combined into apache site config 2015-06-16 11:32:09 -04:00
Albert Santoni 0eebd182dd Installer support for Ubuntu 15.04 2015-03-16 12:22:17 -04:00
Duncan Sommerville 3782817819 More install dependency fixes 2015-03-11 17:10:34 -04:00
Duncan Sommerville 3fba1b9636 Removed nonexistant packages 2015-03-11 14:40:19 -04:00
Albert Santoni 1a8883b91d Merge branch '2.5.x-installer' of github.com:sourcefabric/Airtime into 2.5.x-installer 2015-02-23 12:50:43 -05:00
Daniel James 071715415b Fix permissions on files for Debian/Ubuntu compliance 2015-02-23 17:41:56 +00:00
Albert Santoni bce2bb931b Added Debian Jessie support 2015-02-13 21:22:39 -05:00
Albert Santoni 13939a5129 Fix requirements for trusty 2015-02-13 16:32:01 -05:00
Albert Santoni bbcd4fbe2e Tons of bugfixes for the installer on Debian
* Still need to get pypo working with sysvinit
* Still need to fix this logger.cfg silliness with pypo and
  media_monitor
2015-02-13 11:32:07 -05:00
Albert Santoni d46f4a52eb Installer tweaks and a pypo bugfix
* Moved all the remaining DEB requirements into the requirements files
* The installer should now be distro agnostic (unless you ask it to
  install third-party deps for you)
* Fixed pypo not being able to find replaygainupdater
* Tweaked a bunch of styling for the installer
2015-02-10 18:06:46 -05:00
Duncan Sommerville cd102b984b Remove UseCanonicalName and UseCanonicalPhysicalPort from apache vhost files for now as it can misdirect requests - see warning @ http://httpd.apache.org/docs/current/mod/core.html#usecanonicalname 2015-01-26 14:22:47 -05:00
Duncan Sommerville 7034c8e00d Initial fix for apache 2.4 vhost file 2015-01-20 17:31:59 -05:00
Duncan Sommerville 57e4ba5292 requirements.apt for Ubuntu Precise 2015-01-19 15:05:49 -05:00
Duncan Sommerville c5a60d2f09 Last updates before 2.5.2 RC, mainly small fixes for Ubuntu Precise 2015-01-19 15:05:13 -05:00
Duncan Sommerville 791466b023 Fixes for code review https://github.com/sourcefabric/Airtime/pull/84 2015-01-15 16:33:33 -05:00
Duncan Sommerville 5e22f929c7 Reverted commit mistakenly changing file modifiers to 755 2015-01-14 20:45:03 -05:00
Duncan Sommerville 380ec41201 Removed Skip this step buttons in web installer, removed opus plugins from requirements.apt files 2015-01-14 18:07:33 -05:00
Duncan Sommerville df2576e5a0 Updated installer to better accommodate running over existing installs 2015-01-14 16:11:49 -05:00
Duncan Sommerville 9f6bd33076 Fix returning stor directory from database in uninstall, work on getting lxc-bootstrap working with debian 2015-01-13 15:50:01 -05:00
Duncan Sommerville 3908e82667 Add apt.sourcefabric.org to apt sources.list, remove incorrect packages from debian requirements.apt 2015-01-13 15:14:56 -05:00
Duncan Sommerville e7490d6b2d Fixed lxc-bootstrap to make a shallow clone, updated uninstall script, added initial debian wheezy requirements file 2015-01-13 12:28:36 -05:00
Duncan Sommerville 674b8c69e4 Add very basic uninstall script, move install script to root directory 2015-01-12 16:13:39 -05:00
Duncan Sommerville 0fcac545e6 For now, just prompt users to start background services at the end of the install process 2015-01-12 10:53:31 -05:00
Duncan Sommerville bf1355a203 Yet another attempt to run upstart jobs as unprivileged user 2015-01-12 09:48:08 -05:00
Duncan Sommerville 24123ef45d Added setup config file for upstart session init 2015-01-09 11:21:44 -05:00
Duncan Sommerville 1ddda846d6 Updates to running background services as web user 2015-01-08 18:52:58 -05:00
Duncan Sommerville a9d3a8aefd Fixed bad reference path 2015-01-08 14:18:12 -05:00
Duncan Sommerville d81934e44c Fixed bad reference path and added a note to lxc-bootstrap about weird lxc caching issue 2015-01-08 14:06:28 -05:00
Duncan Sommerville e568013db6 More work on running services as web user 2015-01-08 13:21:08 -05:00
Duncan Sommerville ab35827439 Different approach for running airtime services as unprivileged user 2015-01-08 12:56:09 -05:00
Duncan Sommerville 4559e3e27d More work on running upstart services as non-privileged user 2015-01-08 10:48:54 -05:00