From 9bab6507a73428de890967b1615ef71ce432b556 Mon Sep 17 00:00:00 2001 From: andryyy Date: Fri, 26 Apr 2019 21:15:46 +0200 Subject: [PATCH] [ACME] Allow to skip all names but MAILCOW_HOSTNAME --- data/Dockerfiles/acme/docker-entrypoint.sh | 11 ++++++++++- docker-compose.yml | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/data/Dockerfiles/acme/docker-entrypoint.sh b/data/Dockerfiles/acme/docker-entrypoint.sh index e79ef977..78b52348 100755 --- a/data/Dockerfiles/acme/docker-entrypoint.sh +++ b/data/Dockerfiles/acme/docker-entrypoint.sh @@ -15,6 +15,11 @@ if [[ "${SKIP_HTTP_VERIFICATION}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then SKIP_HTTP_VERIFICATION=y fi +# Request certificate for MAILCOW_HOSTNAME ony +if [[ "${ONLY_MAILCOW_HOSTNAME}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then + ONLY_MAILCOW_HOSTNAME=y +fi + log_f() { if [[ ${2} == "no_nl" ]]; then echo -n "$(date) - ${1}" @@ -266,9 +271,10 @@ while true; do SQL_DOMAIN_ARR+=("${domains}") done < <(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT domain FROM domain WHERE backupmx=0" -Bs) + if [[ ${ONLY_MAILCOW_HOSTNAME} != "y" ]]; then for SQL_DOMAIN in "${SQL_DOMAIN_ARR[@]}"; do for SUBDOMAIN in "${ADDITIONAL_WC_ARR[@]}"; do - if [[ "${SUBDOMAIN}.${SQL_DOMAIN}" != "${MAILCOW_HOSTNAME}" ]]; then + if [[ "${SUBDOMAIN}.${SQL_DOMAIN}" != "${MAILCOW_HOSTNAME}" ]]; then A_SUBDOMAIN=$(dig A ${SUBDOMAIN}.${SQL_DOMAIN} +short | tail -n 1) AAAA_SUBDOMAIN=$(dig AAAA ${SUBDOMAIN}.${SQL_DOMAIN} +short | tail -n 1) # Check if CNAME without v6 enabled target @@ -305,6 +311,7 @@ while true; do fi done done + fi A_MAILCOW_HOSTNAME=$(dig A ${MAILCOW_HOSTNAME} +short | tail -n 1) AAAA_MAILCOW_HOSTNAME=$(dig AAAA ${MAILCOW_HOSTNAME} +short | tail -n 1) @@ -340,6 +347,7 @@ while true; do log_f "No A or AAAA record found for hostname ${MAILCOW_HOSTNAME}" fi + if [[ ${ONLY_MAILCOW_HOSTNAME} != "y" ]]; then for SAN in "${ADDITIONAL_SAN_ARR[@]}"; do # Skip on CAA errors for SAN SAN_PARENT_DOMAIN=$(echo ${SAN} | cut -d. -f2-) @@ -389,6 +397,7 @@ while true; do log_f "No A or AAAA record found for hostname ${SAN}" fi done + fi # Unique elements ALL_VALIDATED=(${VALIDATED_MAILCOW_HOSTNAME} $(echo ${VALIDATED_CONFIG_DOMAINS[*]} ${ADDITIONAL_VALIDATED_SAN[*]} | xargs -n1 | sort -u | xargs)) diff --git a/docker-compose.yml b/docker-compose.yml index d782660b..b2860519 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -307,7 +307,7 @@ services: acme-mailcow: depends_on: - nginx-mailcow - image: mailcow/acme:1.51 + image: mailcow/acme:1.52 build: ./data/Dockerfiles/acme dns: - ${IPV4_NETWORK:-172.22.1}.254 @@ -321,6 +321,7 @@ services: - SKIP_LETS_ENCRYPT=${SKIP_LETS_ENCRYPT:-n} - SKIP_IP_CHECK=${SKIP_IP_CHECK:-n} - SKIP_HTTP_VERIFICATION=${SKIP_HTTP_VERIFICATION:-n} + - ONLY_MAILCOW_HOSTNAME=${ONLY_MAILCOW_HOSTNAME:-n} - LE_STAGING=${LE_STAGING:-n} - TZ=${TZ} volumes: