From 827836689923b43159750572705753f877f9f30b Mon Sep 17 00:00:00 2001 From: jo Date: Thu, 5 May 2022 20:19:31 +0200 Subject: [PATCH] feat(worker): don't run with a dedicated user BREAKING: The worker service no longer uses a dedicated `celery` user to run. The old `celery` user can be removed from the system. --- docs/releases/unreleased.md | 9 +++++++++ install | 15 ++------------- legacy/build/airtime-setup/load.php | 5 +---- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/releases/unreleased.md b/docs/releases/unreleased.md index 3256c126f..e7f0329d1 100644 --- a/docs/releases/unreleased.md +++ b/docs/releases/unreleased.md @@ -55,6 +55,15 @@ The legacy logrotate config filepath was changed from `/etc/logrotate.d/airtime- sudo rm -f /etc/logrotate.d/airtime-php ``` +### Worker user + +The worker service no longer uses a dedicated `celery` user to run. The old `celery` user can be removed from the system: + +```bash +# Remove the celery user +sudo deluser celery +``` + ### New configuration schema The configuration schema was updated. diff --git a/install b/install index bb68f0763..52fc10274 100755 --- a/install +++ b/install @@ -1020,21 +1020,10 @@ systemInitInstall libretime-liquidsoap "$web_user" systemInitInstall libretime-playout "$web_user" verbose "...Done" -verbose "\n * Installing celery..." +verbose "\n * Installing worker..." loudCmd "$pip_install ${AIRTIMEROOT}/worker" mkdir_and_chown "${web_user}:${web_user}" "${LIBRETIME_WORKING_DIR}/worker" -# Create the Celery user -if $is_centos_dist; then - loudCmd "id celery 2>/dev/null || adduser --no-create-home -c 'LibreTime Celery' -r celery || true" -else - loudCmd "id celery 2>/dev/null || adduser --no-create-home --gecos 'LibreTime Celery' --disabled-login --firstuid 1 --lastuid 999 celery" -fi -# Add celery to the www-data group -loudCmd "usermod -G ${web_user} -a celery" -# CentOS installs celery in /usr/bin which differs from other distros. Make -# available in /usr/local/bin as systemd requires an absolute path. -[[ ! -e /usr/local/bin/celery ]] && ln -s /usr/bin/celery /usr/local/bin/celery -systemInitInstall libretime-celery celery +systemInitInstall libretime-celery "$web_user" verbose "...Done" verbose "\n * Installing libretime-analyzer..." diff --git a/legacy/build/airtime-setup/load.php b/legacy/build/airtime-setup/load.php index 3323297c2..50bc8bb28 100644 --- a/legacy/build/airtime-setup/load.php +++ b/legacy/build/airtime-setup/load.php @@ -165,10 +165,7 @@ function checkLiquidsoapService() */ function checkCeleryService() { - exec('pgrep -f -u celery libretime_worker', $out, $status); - if (array_key_exists(0, $out) && $status == 0) { - return 1; - } + exec('systemctl is-active libretime-celery --quiet', $out, $status); return $status == 0; }