diff --git a/certbot/entrypoint.sh b/certbot/entrypoint.sh new file mode 100644 index 0000000..82ecd16 --- /dev/null +++ b/certbot/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/sh +if [ ! -d /etc/letsencrypt/live/${DOMAIN} ]; then + certbot certonly --webroot -w /var/www/certbot --email ${EMAIL} -d ${DOMAIN} -d www.${DOMAIN} --agree-tos --non-interactive; +fi; + +trap exit TERM; + +while :; do + certbot renew --webroot -w /var/www/certbot; + sleep 12h & wait $${!}; +done diff --git a/docker-compose.yml b/docker-compose.yml index 70eb50c..4da9326 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,19 +29,10 @@ services: image: certbot/certbot container_name: certbot volumes: + - ./certbot/entrypoint.sh:/entrypoint.sh - ./certbot/conf:/etc/letsencrypt - ./certbot/www:/var/www/certbot - command: certonly --webroot -w /var/www/certbot --email ${EMAIL} -d ${DOMAIN} -d www.${DOMAIN} --agree-tos --non-interactive - networks: - - app-network - - certbot-renew: - image: certbot/certbot - container_name: certbot-renew - volumes: - - ./certbot/conf:/etc/letsencrypt - - ./certbot/www:/var/www/certbot - entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;" + entrypoint: ["/entrypoint.sh"] networks: - app-network