diff options
| author | crupest <crupest@outlook.com> | 2022-11-22 14:11:37 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-11-22 14:11:37 +0800 | 
| commit | 813aa19d72bc98842cf86b15d95b677b36098b90 (patch) | |
| tree | 7b3606eed1c7b6831de2c863c0b7d04e23ed589f /docker | |
| parent | 2359f2603e7d3a18bf183f5b248a8e4d915ba36a (diff) | |
| download | crupest-813aa19d72bc98842cf86b15d95b677b36098b90.tar.gz crupest-813aa19d72bc98842cf86b15d95b677b36098b90.tar.bz2 crupest-813aa19d72bc98842cf86b15d95b677b36098b90.zip  | |
Add auto-certbot.
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/auto-certbot/Dockerfile | 5 | ||||
| -rwxr-xr-x | docker/auto-certbot/daemon.bash | 29 | 
2 files changed, 16 insertions, 18 deletions
diff --git a/docker/auto-certbot/Dockerfile b/docker/auto-certbot/Dockerfile index 345682c..655197d 100644 --- a/docker/auto-certbot/Dockerfile +++ b/docker/auto-certbot/Dockerfile @@ -1,5 +1,6 @@  FROM certbot/certbot:latest  ARG CRUPEST_DOMAIN -ARG CRUPEST_CERTBOT_RENEW_COMMAND +ARG CRUPEST_CERTBOT_RENEW_COMMAND=""  COPY daemon.bash /daemon.bash -CMD [ "/daemon.bash" ] +VOLUME ["/var/www/certbot", "/etc/letsencrypt", "/var/lib/letsencrypt"] +ENTRYPOINT [ "/daemon.bash" ] diff --git a/docker/auto-certbot/daemon.bash b/docker/auto-certbot/daemon.bash index 8927c4a..de21ba8 100755 --- a/docker/auto-certbot/daemon.bash +++ b/docker/auto-certbot/daemon.bash @@ -8,8 +8,11 @@ fi  # Check CRUPEST_CERTBOT_RENEW_COMMAND is defined.  if [ -z "$CRUPEST_CERTBOT_RENEW_COMMAND" ]; then -    echo "CRUPEST_CERTBOT_RENEW_COMMAND must be defined." -    exit 1 +    echo "CRUPEST_CERTBOT_RENEW_COMMAND is not defined or empty" +    CRUPEST_CERTBOT_RENEW_COMMAND="certbot renew --webroot -w /var/www/certbot" +    printf "Will use:\n%s\n" "$CRUPEST_CERTBOT_RENEW_COMMAND" +else +    printf "CRUPEST_CERTBOT_RENEW_COMMAND is defined as:\n%s\n" "$CRUPEST_CERTBOT_RENEW_COMMAND"  fi  # Check CRUPEST_CERT_PATH, default to /etc/letsencrypt/live/$CRUPEST_DOMAIN/fullchain.pem @@ -17,7 +20,7 @@ if [ -z "$CRUPEST_CERT_PATH" ]; then      CRUPEST_CERT_PATH="/etc/letsencrypt/live/$CRUPEST_DOMAIN/fullchain.pem"  fi -function check_and_renew_cert() { +function check_and_renew_cert {      expire_info=$(openssl x509 -enddate -noout -in "$CRUPEST_CERT_PATH")      # Get ssl certificate expire date. @@ -33,21 +36,15 @@ function check_and_renew_cert() {      echo "Renew SSL certificate at: $(date -d @$renew_timestamp)"      # Get rest time til renew. -    rest_time="$((renew_timestamp - $(date +%s)))" -    echo "Rest time til renew: $rest_time seconds" +    rest_time_in_second="$((renew_timestamp - $(date +%s)))" +    rest_time_in_day=$((rest_time_in_second / 86400)) +    echo "Rest time til renew: $rest_time_in_second seconds, aka, about $rest_time_in_day days"      # Do we have rest time? -    if [ "$rest_time" -gt 0 ]; then -        # Check CRUPEST_GREEDY_CHECK is defined. -        if [ -z "$CRUPEST_GREEDY_CHECK" ]; then -            # Sleep til renew. -            echo "Sleeping til renew..." -            sleep "$rest_time" -        else -            # Sleep 1 hour. -            echo "Seems like CRUPEST_GREEDY_CHECK is defined, sleep 1 day and check again..." -            sleep 86400 -        fi +    if [ $rest_time_in_second -gt 0 ]; then +        # Sleep 1 hour. +        echo "I'm going to sleop for 1 day to check again." +        sleep 1d      else          # No, renew now.          echo "Renewing now..."  | 
