Skip to content

Instantly share code, notes, and snippets.

@paulchubatyy
Created January 10, 2023 06:41
Show Gist options
  • Save paulchubatyy/2833ad3a2c4807c792751b05a4b38024 to your computer and use it in GitHub Desktop.
Save paulchubatyy/2833ad3a2c4807c792751b05a4b38024 to your computer and use it in GitHub Desktop.
Renew Dokku SSL Certificate through DigitalOcean DNS
.PHONY: clean-certs certificate certs.tar certs-renew
clean-certs:
rm -fr certs.tar .lego/certificates
ACME_SERVER ?= https://acme-v02.api.letsencrypt.org/directory
DOMAIN ?= "*.example.com"
DOMAIN_2 ?= "example.com"
certificate: clean-certs
docker run --rm -it \
-e DO_AUTH_TOKEN=${DO_AUTH_TOKEN} \
-v `pwd`/.lego:/.lego \
goacme/lego:latest \
--server "${ACME_SERVER}" \
--domains "${DOMAIN}" \
--domains "${DOMAIN_2}" \
--dns digitalocean \
--email you@example.com \
--accept-tos \
--pem \
run
certs.tar: certificate
(cd .lego/certificates && mv *.issuer.crt issuer.crt.backup && tar -cvf ${PWD}/certs.tar ./)
HOST ?= "example.com"
certs-renew: certs.tar
scp certs.tar ${HOST}:certs.tar
ssh ${HOST} "dokku certs:update application-name < certs.tar"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment