Mercurial Hosting > luan
annotate host/renewSsl.sh @ 2061:dd10659fcdb9 acme-tiny tip
Renew ssl monthly instead of daily; Fix renewSsl.sh
| author | Violet7 |
|---|---|
| date | Thu, 13 Nov 2025 23:17:16 -0800 |
| parents | caeaf6e76467 |
| children |
| rev | line source |
|---|---|
| 1632 | 1 #!/bin/bash |
| 2 | |
| 2048 | 3 set -e |
| 2037 | 4 cd "$1" || exit 1 |
| 2048 | 5 |
| 2037 | 6 ROOTPWD=$(pwd) |
| 2048 | 7 KEYFILE="$ROOTPWD/local/tiny_account.key" |
| 2037 | 8 for SITEROOT in "$ROOTPWD"/sites/*; do |
| 2048 | 9 { |
| 10 # Skip if not a directory | |
| 11 [ -d "$SITEROOT" ] || continue | |
| 2037 | 12 |
| 2048 | 13 DOMAIN=$(basename "$SITEROOT") |
| 14 CSRFILE="$SITEROOT/$DOMAIN.csr" | |
| 15 FULLCHAIN="$SITEROOT/fullchain.cer" | |
| 16 CHALLENGEDIR="$SITEROOT/site/.well-known/acme-challenge" | |
| 17 TMPOUT="/tmp/$DOMAIN.crt" | |
| 18 echo "Processing domain: $DOMAIN" | |
| 1632 | 19 |
| 2048 | 20 # local_https.sh does not create a csr file, assume |
| 21 # it is a self-signed local cert if it doesn't exist | |
| 22 if [ ! -f "$CSRFILE" ]; then | |
| 23 echo "CSR file not found, assuming self-signed and skipping." | |
| 24 continue | |
| 25 fi | |
| 26 | |
| 27 mkdir -p "$CHALLENGEDIR" | |
| 1632 | 28 |
|
2061
dd10659fcdb9
Renew ssl monthly instead of daily; Fix renewSsl.sh
Violet7
parents:
2052
diff
changeset
|
29 "$ROOTPWD/acme_tiny" \ |
| 2048 | 30 --account-key "$KEYFILE" \ |
| 31 --csr "$CSRFILE" \ | |
| 32 --acme-dir "$CHALLENGEDIR" \ | |
| 33 > "$TMPOUT" | |
| 2037 | 34 |
| 2048 | 35 # check if exists |
| 36 if [ -f "$FULLCHAIN" ]; then | |
| 37 mv $FULLCHAIN "$FULLCHAIN.old" | |
| 38 fi | |
| 2037 | 39 |
| 2048 | 40 mv "$TMPOUT" "$FULLCHAIN" |
| 41 | |
| 42 echo "Renewed certificate for $DOMAIN" | |
| 43 } || { | |
| 44 echo "Error processing $SITEROOT — skipping." | |
| 45 } | |
| 2037 | 46 done |
| 47 | |
| 2050 | 48 sudo /usr/local/bin/nginx -s reload -c "$(pwd)/local/nginx.conf" |
| 2037 | 49 echo "Nginx reloaded." |
