50 lines
935 B
Bash
Executable file
50 lines
935 B
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
_SCRIPT_="$0"
|
|
|
|
ACME_BIN="/acme.sh/acme.sh --home /acme.sh --config-home /acmecerts"
|
|
|
|
DEFAULT_CONF="/etc/nginx/conf.d/default.conf"
|
|
|
|
|
|
CERTS="/etc/nginx/certs"
|
|
|
|
|
|
startcron() {
|
|
if service cron status | grep "cron is running"; then
|
|
echo "cron is running, skip"
|
|
else
|
|
service cron start
|
|
fi
|
|
}
|
|
|
|
|
|
updatessl() {
|
|
|
|
if grep ACME_DOMAINS $DEFAULT_CONF ; then
|
|
for d_list in $(grep ACME_DOMAINS $DEFAULT_CONF | cut -d ' ' -f 2);
|
|
do
|
|
d=$(echo "$d_list" | cut -d , -f 1)
|
|
$ACME_BIN --issue \
|
|
-d $d_list \
|
|
--nginx \
|
|
--fullchain-file "$CERTS/$d.crt" \
|
|
--key-file "$CERTS/$d.key" \
|
|
--reloadcmd "service nginx configtest && service nginx force-reload"
|
|
done
|
|
|
|
#generate nginx conf again.
|
|
docker-gen /app/nginx.tmpl /etc/nginx/conf.d/default.conf
|
|
else
|
|
echo "skip updatessl"
|
|
fi
|
|
service nginx configtest && service nginx force-reload
|
|
}
|
|
|
|
|
|
startcron
|
|
|
|
"$@"
|
|
|
|
|
|
|