Commit Graph

524 Commits

Author SHA1 Message Date
jo 137e76ff00 fix: don't set log folder permissions recursivly 2022-05-05 09:42:34 +02:00
jo 21ab07eff8 feat(legacy): change logrotate config deploy path
BREAKING: the legacy logrotate config filepath was changed from `/etc/logrotate.d/airtime-php` to `/etc/logrotate.d/libretime-legacy`
2022-05-05 09:42:34 +02:00
Jonas L 41df76eed0
feat(api): replace uwsgi with gunicorn (#1785)
Related to #1719

BREAKING: The uwsgi packages and configuration files (`/etc/airtime/libretime-api.ini`) should be removed from the system.
2022-04-25 16:09:19 +02:00
Jonas L 95a7411c0c
feat: improve apache configuration (#1784)
- merge php config in apache config
- remove deprecated php config
- remove old apache config
- use dedicated log files for libretime vhost
- change template variables format

BREAKING: The apache configuration file has been updated and renamed. You must remove the old configuration files `/etc/apache2/sites-available/airtime*` file from the system.

BREAKING: The php configuration file has been merged in the apache configuration. You need to remove the `/etc/php/*/apache2/conf.d/airtime.ini` file from the system.
2022-04-25 12:46:30 +02:00
Jonas L dc92661c49
chore(api): move uswgi config in api/install (#1781) 2022-04-21 07:14:35 +02:00
Jonas L 5cb4b5e9e5
chore(legacy): move logrotate config in legacy/install (#1780) 2022-04-21 07:11:16 +02:00
jo c7ebeee114 fix(installer): always install fresh packages
reorder apt-get update commands to be sure we install fresh packages.
2022-04-11 11:52:55 +02:00
Kyle Robbertze f048d32ec2 fix(installer): install software-properties-common when required 2022-04-11 11:52:55 +02:00
Jonas L fef38fb131
chore: rename api_client to api-client (#1727) 2022-04-04 10:25:38 +02:00
Kyle Robbertze 38efa9cd31 fix(installer): remove /var/tmp/airtime reference 2022-03-28 21:06:43 +02:00
Kyle Robbertze 2ca883334a
fix(installer): remove rougue reference to /var/log/airtime (#1710) 2022-03-28 20:56:14 +02:00
Kyle Robbertze 9ba17fba4f fix(installer): test and create correct log path 2022-03-28 17:18:40 +02:00
Jonas L 926f18aec8
fix: upgrade python packages during install (#1707) 2022-03-28 15:19:38 +02:00
Kyle Robbertze e8fb17a653 fix: add PPA for newer liquidsoap version on Ubuntu
Fixes: #1689
2022-03-28 11:11:44 +02:00
jo 9af717ef7f feat(api): remove admin app and static files
- remove django admin app,
- disable static files for production deployment,
- keep the rest framework browsable api in dev mode.
2022-03-02 22:03:56 +02:00
Jonas L 2d451aa951
fix: change celery user in worker service file (#1638) 2022-02-25 15:53:32 +02:00
jo 9b6d657fd6 feat(worker): load config using shared helpers
BREAKING CHANGE: The worker `RMQ_CONFIG_FILE` environement variable has
been renamed to `LIBRETIME_CONFIG_FILEPATH`. In addition the systemd
working directory for the worker has changed from `/srv/airtime` to
`/var/lib/libretime/worker`.
2022-02-25 11:48:57 +02:00
Jonas L c3d2a4dfab
feat: remove unused ubuntu ppa (#1591)
Fixes #1573
2022-02-11 15:34:32 +02:00
Jonas L e106858fd8
feat: remove locale generation from installer (#1560)
Fixes #317
2022-02-04 09:16:00 +02:00
jo ceab19271d feat(analyzer): analyze replaygain using ffmpeg
- remove pycairo pip install
- fix py36 compatibility
- reraise when executable was not found

BREAKING CHANGE: The analyzer requires 'ffmpeg'. The 'rgain3' python package and it's system dependencies can be removed.
2022-01-24 12:54:31 +02:00
jo 12f96f5043 feat(playout): change playout working directory
- use working dir for storing files

BREAKING CHANGE:  the playout working directory changed from '/var/tmp/airtime/pypo/' to '/var/lib/libretime/playout' when running with systemd and the current directory by default.
2022-01-24 12:46:40 +02:00
Jonas L fe0b2c4a7a
feat(analyzer): enhance analyzer cli and logging (#1507)
Some initial work on modernizing the analyzer app. This replace any custom logger or `logging` based logger with the logging tools from `libretime_shared.logging` and `loguru`.

- rename cli to main
- use pathlib in setup.py
- add api-client and shared package as dev deps
- rework main entrypoint cli to use click and shared helpers
- remove unused imports
- replace logging with logger
- rework analyzer app using shared abstract app
- move analyzer log path to systemd service
- change analyzer working dir

BREAKING CHANGE: The analyzer cli has been reworked and uses new flags / environnement variables for configuration.
`--debug` flag becomes `--log-level <level>`
`--rmq-config-file` flag becomes `--config <filepath>`
`--http-retry-queue-file` flag becomes `--retry-queue-filepath`.
`retry-queue-filepath` default value changed from `/tmp/airtime_analyzer_http_retries` to `retry_queue` in the working dir.
`LIBRETIME_CONF_DIR` environnement variable replaced by `LIBRETIME_CONFIG_FILEPATH`.

BREAKING CHANGE: When running analyzer as a systemd service, the working directory is now /var/lib/libretime/analyzer.
2022-01-17 10:26:30 +02:00
Jonas L 5c72f714a8
feat(playout): enhance playout logging (#1495)
Some initial work on modernizing the playout app. This replace any custom logger or
logging based logger with the logging tools from libretime_shared.logging and loguru.

Removed all the thread/function assigned logger (self.logger = ...), as this makes it
part of the logic (passing logger though function args) as it should not.

Of a dedicated logger is required for a specific task, it should use
the create_task_logger function.

- refactor: remove dead code
- refactor: remove py2 specific fix
- feat: remove unused test command
- feat: setup shared cli and logging tools
- feat: replace logging with loguru
- feat: setup shared cli and logging tools for notify
- fix: warn method deos not exist
- feat: make cli setup the entrypoint
- fix: install shared modules globally in production
  use extra_requires to load local packages in dev environement
- feat: configure log path in systemd service
- feat: default behavior is to log to console only
- feat: create log dir during install
- chore: add comment
- fix: don't create useless dir in install
- fix: move notify logs to /var/log/libretime dir
- fix: update setup_logger attrs
- style: linting
- fix: replace verbosity flag with log-level flag
- feat: use shared logging tool in liquidsoap
- fix: pass logger down to api client
- feat: allow custom log_filepath in liquidsoap config
- chore: add pylintrc to playout
- refactor: fix pylint errors
- feat: set liquidsoap log filepath in systemd service
- fix: missing setup entrypoint update

BREAKING CHANGE: for playout and liquidsoap the default log file path changed to None
and will only log to the console when developing / testing. Unless you are running the
app as a systemd service (production) the default logs filepaths changed:
from "/var/log/airtime/pypo/pypo.log" to "/var/log/libretime/playout.log" and
from "/var/log/airtime/pypo-liquidsoap/ls_script.log" to "/var/log/libretime/liquidsoap.log"

BREAKING CHANGE: for playout-notify the default log file path changed
from "/var/log/airtime/pypo/notify.log" to "/var/log/libretime/playout-notify.log"
2022-01-13 17:11:37 +02:00
jo aa4be97312 chore: move liquidsoap logrotate in install dir 2022-01-04 09:18:58 +02:00
Kyle Robbertze 959e001edd fix: revert removal of eval for shell commands
Fixes: #1434
2021-11-09 14:47:56 +01:00
Jonas L 4057c88cf0
feat: debian 11 support (#1292)
* Debian 11 Support

Run api ci test on bullseye as well

* Silan does not work for mp3 on bullseye

* Liquisoap does not fail with wma files on bullseye
2021-11-09 11:21:40 +02:00
Kyle Robbertze 022b1a2881 chore: resolve shell warnings 2021-11-08 20:57:41 +01:00
Kyle Robbertze 7182390000
feat: add support for Ubuntu Focal 20.04 (#1168)
Co-authored-by: Valerio Bozzolan <gnu@linux.it>
2021-11-04 09:55:50 +02:00
jo 19c816f294 Update paths after playout move 2021-10-17 08:02:47 +00:00
jo 8fe0156d4f Update paths after api_client move 2021-10-17 08:02:47 +00:00
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 #1373 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 #1298 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 #1254 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: #1267
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: #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 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 #1046 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 #1096
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: #516
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 #954 from codenift/lt_install_fix
Install fix
2020-01-23 08:58:55 +02:00
Codenift 7c524fb0af
Quick fix for install
Work around until #951 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 #933 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