random-stuff/bash_scripts/ddns-acme-porkbun.sh

49 lines
769 B
Bash
Raw Normal View History

2023-09-03 22:39:51 +05:00
#!/usr/bin/bash
if [ ! -f "/etc/ddns-acme-porkbun.env" ]; then
echo "Porkbun API key .env missing"
exit 1
fi
set -a; source /etc/ddns-acme-porkbun.env; set +a
if [ -z "$EMAIL" ] || [ -z "$DOMAINS" ] || [ -z "$PORKBUN_SECRET_API_KEY" ] || [ -z "$PORKBUN_API_KEY" ]; then
echo "Bad .env file"
exit 1
fi
ddns_update() {
while true;
do
ddns-porkbun
case "#?" in
"1")
echo "Fatal error"
exit 1
;;
"2")
echo "Retrying"
;;
"0")
echo "DNS updated"
break
;;
esac
done
}
ddns_update
if [ "#?" -eq "1" ]; then
echo "DDNS script failed, check credentials/domain"
fi
if [ "$1" = "renew" ]; then
LEGO_ARG="renew"
else
LEGO_ARG="run"
fi
cd /etc/nginx
lego --email "$EMAIL" --dns porkbun "${DOMAINS[@]/#/-d }" $LEGO_ARG