Add one-line Caddy local CA installer
This commit is contained in:
@@ -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}"
|
||||||
Reference in New Issue
Block a user