Fix multi-domain support
This commit is contained in:
parent
b8b4d385be
commit
5bcb1956a8
1 changed files with 25 additions and 24 deletions
|
@ -1,4 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
echo 'Waiting'
|
||||
|
@ -6,9 +7,10 @@ sleep 10
|
|||
|
||||
# Wait some amount of time
|
||||
seconds_to_wait=3600
|
||||
|
||||
while true; do
|
||||
# Load relevant container settings
|
||||
source $DIR/letsencrypt_service_data
|
||||
source "$DIR"/letsencrypt_service_data
|
||||
|
||||
for cid in "${LETSENCRYPT_CONTAINERS[@]}"; do
|
||||
# Derive host and email variable names
|
||||
|
@ -17,31 +19,30 @@ while true; do
|
|||
hosts_array=$host_varname[@]
|
||||
email_varname="LETSENCRYPT_${cid}_EMAIL"
|
||||
|
||||
domain_params=""
|
||||
for domain in "${!hosts_array}"; do
|
||||
domain_params+="-d $domain "
|
||||
|
||||
# Create the domain directory
|
||||
mkdir -p /etc/nginx/certs/$domain
|
||||
cd /etc/nginx/certs/$domain
|
||||
|
||||
/opt/simp_le/venv/bin/simp_le \
|
||||
-d "$domain" \
|
||||
-f fullchain.pem -f key.pem \
|
||||
--email "${!email_varname}" \
|
||||
--server=https://acme-v01.api.letsencrypt.org/directory \
|
||||
--default_root /usr/share/nginx/html/
|
||||
|
||||
simp_le_return=$?
|
||||
|
||||
if [[ $simp_le_return -eq 0 ]]; then
|
||||
# Symlink to created certificate and key.
|
||||
ln -sf ./$domain/fullchain.pem /etc/nginx/certs/$domain".crt"
|
||||
ln -sf ./$domain/key.pem /etc/nginx/certs/$domain".key"
|
||||
fi
|
||||
|
||||
# TODO: Regenerate nginx config if simp_le created a certificate and key
|
||||
#if [ "$simp_le_return" -eq 0 ]; then nginx -s reload; fi
|
||||
done
|
||||
|
||||
# Use the first domain to create the directory
|
||||
primary_domain=${!host_varname}
|
||||
mkdir -p /etc/nginx/certs/$primary_domain
|
||||
cd /etc/nginx/certs/$primary_domain
|
||||
/opt/simp_le/venv/bin/simp_le $domain_params -f fullchain.pem -f key.pem --email ${!email_varname} \
|
||||
--server=https://acme-v01.api.letsencrypt.org/directory \
|
||||
--default_root /usr/share/nginx/html/
|
||||
simp_le_return=$?
|
||||
cd /app
|
||||
|
||||
# Symlink to created certificate and key.
|
||||
for domain in "${!hosts_array}"; do
|
||||
ln -sf ./$primary_domain/fullchain.pem /etc/nginx/certs/$domain".crt"
|
||||
ln -sf ./$primary_domain/key.pem /etc/nginx/certs/$domain".key"
|
||||
done
|
||||
|
||||
# TODO: Regenerate nginx config if simp_le created a certificate and key
|
||||
#if [ "$simp_le_return" -eq 0 ]; then nginx -s reload; fi
|
||||
|
||||
unset $host_varname; unset $email_varname; unset $hosts_array
|
||||
done
|
||||
unset LETSENCRYPT_CONTAINERS
|
||||
|
||||
|
|
Loading…
Reference in a new issue