diff --git a/hooks/conf_regen/12-metronome b/hooks/conf_regen/12-metronome index cad8d3805..b039ace31 100755 --- a/hooks/conf_regen/12-metronome +++ b/hooks/conf_regen/12-metronome @@ -74,8 +74,22 @@ do_post_regen() { chown -R metronome: /var/lib/metronome/ chown -R metronome: /etc/metronome/conf.d/ - [[ -z "$regen_conf_files" ]] \ - || systemctl restart metronome + if [[ -z "$(ls /etc/metronome/conf.d/*.cfg.lua 2>/dev/null)" ]] + then + if systemctl is-enabled metronome &>/dev/null + then + systemctl disable metronome --now 2>/dev/null + fi + else + if ! systemctl is-enabled metronome &>/dev/null + then + systemctl enable metronome --now 2>/dev/null + sleep 3 + fi + + [[ -z "$regen_conf_files" ]] \ + || systemctl restart metronome + fi } do_$1_regen ${@:2} diff --git a/src/service.py b/src/service.py index 1f1c35c44..e11c2b609 100644 --- a/src/service.py +++ b/src/service.py @@ -712,6 +712,10 @@ def _get_services(): "category": "web", } + # Ignore metronome entirely if XMPP was disabled on all domains + if "metronome" in services and not glob("/etc/metronome/conf.d/*.cfg.lua"): + del services["metronome"] + # Remove legacy /var/log/daemon.log and /var/log/syslog from log entries # because they are too general. Instead, now the journalctl log is # returned by default which is more relevant.