Files
moonwell-web/scripts/deploy-mail-certificate.sh
T

32 lines
951 B
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
CERTIFICATE_LINEAGE="${RENEWED_LINEAGE:-/etc/letsencrypt/live/mail.moon-well.online}"
TLS_DIR="${MAIL_TLS_DIR:-/etc/moonwell-mail/tls}"
MAIL_CONTAINER="${MAIL_CONTAINER:-moonwell-web-stalwart-1}"
[[ -s "${CERTIFICATE_LINEAGE}/fullchain.pem" ]] || {
printf '[mail:tls:error] Certificate chain is missing\n' >&2
exit 1
}
[[ -s "${CERTIFICATE_LINEAGE}/privkey.pem" ]] || {
printf '[mail:tls:error] Private key is missing\n' >&2
exit 1
}
install -d -o root -g 2000 -m 0750 "$TLS_DIR"
install -o root -g 2000 -m 0640 \
"${CERTIFICATE_LINEAGE}/fullchain.pem" \
"${TLS_DIR}/fullchain.pem"
install -o root -g 2000 -m 0640 \
"${CERTIFICATE_LINEAGE}/privkey.pem" \
"${TLS_DIR}/privkey.pem"
if docker container inspect "$MAIL_CONTAINER" >/dev/null 2>&1; then
docker restart "$MAIL_CONTAINER" >/dev/null
fi
printf '[mail:tls] Certificate deployed from %s\n' "$CERTIFICATE_LINEAGE"