32 lines
951 B
Bash
Executable File
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"
|