ddns+lego wrapper script
This commit is contained in:
parent
0629732449
commit
de31591832
1 changed files with 48 additions and 0 deletions
48
bash_scripts/ddns-acme-porkbun
Normal file
48
bash_scripts/ddns-acme-porkbun
Normal file
|
@ -0,0 +1,48 @@
|
|||
#!/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
|
Loading…
Reference in a new issue