2022-06-18 23:08:39 +00:00

1.3 KiB

Cerbot Docker

Docker Certbot that runs on a schedule to create and renew SSL certificates. Uses Cloudflare for DNS-01 verification. Automatic renewal attempt happens every 6 hours.

Building


cd certbot-cron-docker

docker build -t certbot-cron .

docker run -d --name certbot-cron \
    -e EMAIL=admin@domain.com \
    -e DOMAINS=domain.com \
    -v /docker/certbot-cron:/config \
    certbot-cron

Environment Variables:

Variable Default Value Description
EMAIL None Email address for renewal information & other communications
DOMAINS None Domains to be included in the certificate. Comma separated list, no spaces. Wildcards supported
INTERVAL 0 */6 * * * How often certbot attempts to renew the certificate. Cron syntax
STAGING false Uses the LetsEncrypt staging endpoint for testing - avoids the aggressive rate-limiting of the production endpoint

Volumes

Docker path Purpose
/config Stores configs and LetsEncrypt output for mounting in other containers

Thanks to this guy for explaining how to make cron actually shutdown when stopping the container.