Files
mailcow-dockerized/data/Dockerfiles/acme/reload-configurations.sh
T

30 lines
860 B
Bash

#!/bin/bash
# Tell every live replica of nginx / dovecot / postfix to reload (or restart
# on cert-amount change) via the mailcow-agent control bus. Replaces the old
# dockerapi-based container_id lookup + exec dance.
reload_service() {
local svc="$1"
echo "Reloading ${svc} via mailcow-agent..."
if ! mailcow-agent-cli send "${svc}" reload >/dev/null; then
echo "Could not publish reload to ${svc}, attempting restart..."
mailcow-agent-cli send "${svc}" restart >/dev/null || true
fi
}
restart_service() {
local svc="$1"
echo "Restarting ${svc} via mailcow-agent..."
mailcow-agent-cli send "${svc}" restart >/dev/null || true
}
if [[ "${CERT_AMOUNT_CHANGED}" == "1" ]]; then
restart_service nginx
restart_service dovecot
restart_service postfix
else
reload_service nginx
restart_service dovecot
restart_service postfix
fi