certbot.sh 1.2 KB

1234567891011121314151617181920212223242526272829
  1. #!/bin/bash
  2. # example cron job to renew all certs due for renewal every sunday at 10:09pm
  3. # 9 22 * * 0 /bin/bash -c "cd /path/to/dockerbunker && ./certbot.sh"
  4. /bin/date | /usr/bin/tee -a /var/log/certbot.log
  5. # Find base dir
  6. while true;do /bin/ls | /bin/grep -q dockerbunker.sh;if [[ $? == 0 ]];then BASE_DIR=$PWD;break;else cd ../;fi;done
  7. . "${BASE_DIR}"/data/include/init.sh
  8. /usr/bin/docker run \
  9. --rm --name=certbot \
  10. --network dockerbunker-network \
  11. -v "${CONF_DIR}"/nginx/ssl/letsencrypt:/etc/letsencrypt \
  12. -v "${BASE_DIR}"/data/web:/var/www/html:rw \
  13. certbot/certbot renew | /usr/bin/tee -a /var/log/certbot.log
  14. # certbot/certbot certonly --webroot -w /var/www/html -d $1 | /usr/bin/tee -a /var/log/certbot.log
  15. # certbot/certbot --force-renewal certonly --webroot -w /var/www/html "$@" | /usr/bin/tee -a /var/log/certbot.log
  16. if /usr/bin/docker exec -t nginx-dockerbunker nginx -t | grep -q 'test is successful';then
  17. /usr/bin/docker restart nginx-dockerbunker >/dev/null
  18. [[ $? == 0 ]] \
  19. && echo "Successfully restarted nginx-dockerbunker" | /usr/bin/tee -a /var/log/certbot.log \
  20. || echo "Restart of nginx-dockerbunker failed" | /usr/bin/tee -a /var/log/certbot.log
  21. fi