fix: force sv usage in docker container to avoid cases where systemd is used instead

On newer Ubuntu Noble, cron (among other things) has a transitory dependency on systemd, forcing our systemd/runit detection to fail. This change allows overriding the detected init on Ubuntu systems, ensuring we always do the right thing when interacting with init.
This commit is contained in:
Jose Diaz-Gonzalez
2024-09-21 05:35:15 -04:00
parent 8a6c22ad6c
commit 5493ca5978
4 changed files with 10 additions and 6 deletions

View File

@@ -549,7 +549,9 @@ fn-nginx-vhosts-nginx-init-cmd() {
ubuntu)
# support docker-based installations
if [[ -x "$systemctl_path" ]]; then
if [[ "$DOKKU_INIT_SYSTEM" == "sv" ]]; then
sudo /usr/bin/sv "$CMD" "$NGINX_INIT_NAME"
elif [[ -x "$systemctl_path" ]]; then
sudo "$systemctl_path" "$CMD" "$NGINX_INIT_NAME"
elif [[ -x /usr/bin/sv ]]; then
sudo /usr/bin/sv "$CMD" "$NGINX_INIT_NAME"