1
0

Use default config for empty DEFAULT_EMAIL only

This commit is contained in:
Gilles Filippini 2020-10-12 18:59:59 +02:00 committed by Nicolas Duchon
parent 7cf0a52bce
commit 3b6d87e8c2
No known key found for this signature in database
GPG Key ID: EA3151C66A4D79E7
3 changed files with 15 additions and 25 deletions

View File

@ -127,23 +127,13 @@ function check_default_cert_key {
set_ownership_and_permissions "/etc/nginx/certs/default.crt"
}
function configure_default_email {
# Configure the email used by the default config
[[ -d /etc/acme.sh/default ]] || mkdir -p /etc/acme.sh/default
function check_default_account {
# The default account is now for empty account email
if [[ -f /etc/acme.sh/default/account.conf ]]; then
if [[ -f /etc/acme.sh/default/ca/acme-v01.api.letsencrypt.org/account.json ]]; then
acme.sh --update-account --accountemail "${DEFAULT_EMAIL:-}"
return 0
elif grep -q ACCOUNT_EMAIL /etc/acme.sh/default/account.conf; then
if grep -q "${DEFAULT_EMAIL:-}" /etc/acme.sh/default/account.conf; then
return 0
else
sed -i "s/^ACCOUNT_EMAIL=.*$/ACCOUNT_EMAIL='${DEFAULT_EMAIL:-}'/g" /etc/acme.sh/default/account.conf
return 0
fi
if grep -q ACCOUNT_EMAIL /etc/acme.sh/default/account.conf; then
sed -i '/ACCOUNT_EMAIL/d' /etc/acme.sh/default/account.conf
fi
fi
echo "ACCOUNT_EMAIL='${DEFAULT_EMAIL:-}'" >> /etc/acme.sh/default/account.conf
}
if [[ "$*" == "/bin/bash /app/start.sh" ]]; then
@ -170,7 +160,7 @@ if [[ "$*" == "/bin/bash /app/start.sh" ]]; then
check_default_cert_key
check_dh_group
reload_nginx
[[ -n ${DEFAULT_EMAIL:-} ]] && configure_default_email
check_default_account
fi
exec "$@"

View File

@ -140,6 +140,16 @@ function update_cert {
cert_keysize=$DEFAULT_KEY_SIZE
fi
local accountemail config_name
if [[ -n "${DEFAULT_EMAIL// }" ]]; then
accountemail="$DEFAULT_EMAIL"
params_d_arr+=("--accountemail" "$accountemail")
config_name="$accountemail"
[[ ! -d "/etc/acme.sh/$config_name" ]] && mkdir -p "/etc/acme.sh/$config_name"
else
config_name="default"
fi
local test_certificate_varname="LETSENCRYPT_${cid}_TEST"
local acme_ca_uri certificate_dir
if [[ $(lc "${!test_certificate_varname:-}") == true ]] || \
@ -154,14 +164,6 @@ function update_cert {
certificate_dir="/etc/nginx/certs/$base_domain"
fi
local config_varname="LETSENCRYPT_${cid}_ACMESH_CONFIG"
local config_name="${!config_varname:-"<no value>"}"
if [[ "$config_name" == "<no value>" ]]; then
config_name=default
else
[[ ! -d "/etc/acme.sh/$config_name" ]] && mkdir -p "/etc/acme.sh/$config_name"
fi
[[ "$DEBUG" == 1 ]] && params_d_arr+=("--debug")
[[ "$RENEW_PRIVATE_KEYS" == true ]] && params_d_arr+=("--always-force-new-domain-key")
[[ "${2:-}" == "--force-renew" ]] && params_d_arr+=("--force")

View File

@ -27,14 +27,12 @@ LETSENCRYPT_CONTAINERS=(
LETSENCRYPT_{{ $cid }}_{{ $hostHash }}_HOST=('{{ $host }}')
LETSENCRYPT_{{ $cid }}_{{ $hostHash }}_KEYSIZE="{{ $container.Env.LETSENCRYPT_KEYSIZE }}"
LETSENCRYPT_{{ $cid }}_{{ $hostHash }}_TEST="{{ $container.Env.LETSENCRYPT_TEST }}"
LETSENCRYPT_{{ $cid }}_{{ $hostHash }}_ACMESH_CONFIG="{{ $container.Env.LETSENCRYPT_ACMESH_CONFIG }}"
LETSENCRYPT_{{ $cid }}_{{ $hostHash }}_RESTART_CONTAINER="{{ $container.Env.LETSENCRYPT_RESTART_CONTAINER }}"
{{ end }}
{{ else }}
LETSENCRYPT_{{ $cid }}_HOST=( {{ range $host := split $hosts "," }}{{ $host := trim $host }}{{ $host := trimSuffix "." $host }}'{{ $host }}' {{ end }})
LETSENCRYPT_{{ $cid }}_KEYSIZE="{{ $container.Env.LETSENCRYPT_KEYSIZE }}"
LETSENCRYPT_{{ $cid }}_TEST="{{ $container.Env.LETSENCRYPT_TEST }}"
LETSENCRYPT_{{ $cid }}_ACMESH_CONFIG="{{ $container.Env.LETSENCRYPT_ACMESH_CONFIG }}"
LETSENCRYPT_{{ $cid }}_RESTART_CONTAINER="{{ $container.Env.LETSENCRYPT_RESTART_CONTAINER }}"
{{ end }}
{{ end }}