comparison host/renewSsl.sh @ 2062:5ede71739221

merge branches
author Franklin Schmidt <fschmidt@gmail.com>
date Sat, 15 Nov 2025 18:07:51 -0700
parents dd10659fcdb9
children
comparison
equal deleted inserted replaced
2047:ea026254b3b6 2062:5ede71739221
1 #!/bin/bash 1 #!/bin/bash
2 2
3 cd "$1"; 3 set -e
4 cd "$1" || exit 1
4 5
5 ROOTPWD=$(pwd); 6 ROOTPWD=$(pwd)
7 KEYFILE="$ROOTPWD/local/tiny_account.key"
8 for SITEROOT in "$ROOTPWD"/sites/*; do
9 {
10 # Skip if not a directory
11 [ -d "$SITEROOT" ] || continue
6 12
7 ./acme.sh --renew-all --cert-home "$ROOTPWD"/sites --config-home "$ROOTPWD"/local/letsencrypt/config; 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"
8 19
9 sudo /usr/local/bin/nginx -s reload; 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"
28
29 "$ROOTPWD/acme_tiny" \
30 --account-key "$KEYFILE" \
31 --csr "$CSRFILE" \
32 --acme-dir "$CHALLENGEDIR" \
33 > "$TMPOUT"
34
35 # check if exists
36 if [ -f "$FULLCHAIN" ]; then
37 mv $FULLCHAIN "$FULLCHAIN.old"
38 fi
39
40 mv "$TMPOUT" "$FULLCHAIN"
41
42 echo "Renewed certificate for $DOMAIN"
43 } || {
44 echo "Error processing $SITEROOT — skipping."
45 }
46 done
47
48 sudo /usr/local/bin/nginx -s reload -c "$(pwd)/local/nginx.conf"
49 echo "Nginx reloaded."