fix: fallback to lego SAN cert directory if backup missing

This commit is contained in:
Claus Lohmar 2026-07-07 15:24:03 +01:00
parent 881b94099c
commit c7d25c0107

View file

@ -113,14 +113,23 @@ if [ "$GREENFIELD" = true ]; then
echo "[INFO] .env deployed from backup"
fi
# Copy certificates from backup vault to Zoraxy cert dir
# Copy certificates from backup vault or lego cache to Zoraxy cert dir
for DOMAIN_SUB in app dns www; do
CERT_SRC="$BACKUP_DIR/certs/${DOMAIN_SUB}.${DOMAIN}/fullchain.pem"
KEY_SRC="$BACKUP_DIR/certs/${DOMAIN_SUB}.${DOMAIN}/privkey.pem"
FQDN="${DOMAIN_SUB}.${DOMAIN}"
CERT_SRC="$BACKUP_DIR/certs/${FQDN}/fullchain.pem"
KEY_SRC="$BACKUP_DIR/certs/${FQDN}/privkey.pem"
# Fallback to lego's SAN cert (named after first domain)
if [ ! -f "$CERT_SRC" ] && [ -d "$BACKUP_DIR/lego/certificates" ]; then
LECHO=$(ls "$BACKUP_DIR/lego/certificates/"*.crt 2>/dev/null | grep -v issuer | head -1)
if [ -n "$LECHO" ]; then
CERT_SRC="$LECHO"
KEY_SRC="${LECHO%.crt}.key"
fi
fi
if [ -f "$CERT_SRC" ] && [ -f "$KEY_SRC" ]; then
cp "$CERT_SRC" "$TARGET_DIR/config/zoraxy/conf/certs/${DOMAIN_SUB}.${DOMAIN}.crt"
cp "$KEY_SRC" "$TARGET_DIR/config/zoraxy/conf/certs/${DOMAIN_SUB}.${DOMAIN}.key"
echo "[INFO] Cert deployed: ${DOMAIN_SUB}.${DOMAIN}"
cp "$CERT_SRC" "$TARGET_DIR/config/zoraxy/conf/certs/${FQDN}.crt"
cp "$KEY_SRC" "$TARGET_DIR/config/zoraxy/conf/certs/${FQDN}.key"
echo "[INFO] Cert deployed: ${FQDN}"
fi
done