ungleich-certbot/entrypoint.sh

51 lines
1.3 KiB
Bash
Raw Normal View History

2021-06-19 14:41:43 +00:00
#!/bin/sh
if [ -z "$DOMAIN" -o -z "$EMAIL" ]; then
echo Missing DOMAIN or EMAIL parameter - aborting. >&2
exit 1
fi
if [ "$STAGING" = no ]; then
STAGING=""
else
STAGING="--staging"
fi
2021-07-21 11:24:51 +00:00
# Skip getting certs if requested
if [ -z "$ONLYRENEWCERTS" -a -z "$ONLYRENEWCERTSONCE" ]; then
# Try to get a certificate, accept failures
while [ ! -f "/etc/letsencrypt/live/${DOMAIN}/fullchain.pem" ]; do
certbot certonly --agree-tos --cert-name "${DOMAIN}" \
--email "$EMAIL" --expand --non-interactive \
--domain "$DOMAIN" --standalone $STAGING
sleep 30
# Correct permissions for multi user container/pod deployments
# if not indicated otherwise
if [ -z "$LEAVE_PERMISSIONS_AS_IS" ]; then
find /etc/letsencrypt -type d -exec chmod 0755 {} \;
find /etc/letsencrypt -type f -exec chmod 0644 {} \;
fi
done
fi
2021-07-17 15:17:56 +00:00
2021-07-19 20:56:51 +00:00
if [ "$ONLYGETCERT" ]; then
exit 0
fi
2021-07-17 15:17:56 +00:00
# Try to renew once per day
while true; do
/usr/bin/certbot renew
2021-07-17 15:20:20 +00:00
2021-07-21 11:24:51 +00:00
2021-07-17 15:20:20 +00:00
# And again, correct permissions if not told otherwise
if [ -z "$LEAVE_PERMISSIONS_AS_IS" ]; then
find /etc/letsencrypt -type d -exec chmod 0755 {} \;
find /etc/letsencrypt -type f -exec chmod 0644 {} \;
fi
2021-07-21 11:24:51 +00:00
[ "$ONLYRENEWCERTSONCE" ] && exit 0
2021-07-17 15:17:56 +00:00
sleep 86400
done