Add one-line Caddy local CA installer

This commit is contained in:
2026-09-29 09:38:03 -05:00
parent 9e6d838c42
commit 3078608d4c
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -euo pipefail
CERT_URL="${CERT_URL:-https://gitea.wheelytho.com/Wheelz/Docker-Install/raw/branch/main/caddy-local-root.crt}"
CERT_NAME="${CERT_NAME:-wheelz-caddy-local-root.crt}"
EXPECTED_SHA256="${EXPECTED_SHA256:-d4b15cd45c797fd329df47b634d0fc7e9f858e9506ed572c64d00332ea5cf388}"
if [ "${EUID}" -ne 0 ]; then
echo "Run as root, e.g. curl -fsSL ... | sudo bash" >&2
exit 1
fi
if ! command -v curl >/dev/null 2>&1; then
apt-get update
apt-get install -y curl ca-certificates
fi
tmp="$(mktemp)"
trap 'rm -f "$tmp"' EXIT
curl -fsSL "$CERT_URL" -o "$tmp"
actual="$(sha256sum "$tmp" | awk '{print $1}')"
if [ "$actual" != "$EXPECTED_SHA256" ]; then
echo "CA certificate sha256 mismatch: got $actual expected $EXPECTED_SHA256" >&2
exit 1
fi
if command -v update-ca-certificates >/dev/null 2>&1; then
CERT_DIR="/usr/local/share/ca-certificates"
mkdir -p "$CERT_DIR"
install -m 0644 "$tmp" "${CERT_DIR}/${CERT_NAME}"
update-ca-certificates
elif command -v trust >/dev/null 2>&1; then
trust anchor "$tmp"
else
echo "Unsupported distro: no update-ca-certificates or trust command found." >&2
exit 1
fi
echo "Installed Wheelz Caddy local root CA."
echo "Verified SHA256: ${EXPECTED_SHA256}"