feat: update Caddy image to slothcroissant/caddy-cloudflaredns:latest and enhance Docker support in validation script

This commit is contained in:
S
2026-03-02 20:25:38 -06:00
parent d9fb5254cd
commit 3c86890983

View File

@@ -10,7 +10,7 @@ FORMAT_FILE=true
USE_DOCKER=false
DO_ADAPT=true
DO_VALIDATE=true
CADDY_IMAGE="caddy:2"
CADDY_IMAGE="slothcroissant/caddy-cloudflaredns:latest"
usage() {
cat <<USAGE
@@ -24,7 +24,7 @@ Options:
--no-adapt Skip caddy adapt
--no-validate Skip caddy validate
--docker Use Docker image instead of local caddy binary
--image=NAME Docker image when --docker is used (default: caddy:2)
--image=NAME Docker image when --docker is used (default: slothcroissant/caddy-cloudflaredns:latest)
--help, -h Show help
USAGE
}
@@ -47,12 +47,21 @@ if [[ ! -f "$CONFIG_FILE" ]]; then
exit 1
fi
CONFIG_FILE="$(cd "$(dirname "$CONFIG_FILE")" && pwd)/$(basename "$CONFIG_FILE")"
if [[ "$USE_DOCKER" == "true" ]]; then
require_cmd docker
docker_env_args=()
if [[ -n "${CF_API_TOKEN:-}" ]]; then
docker_env_args+=( -e "CF_API_TOKEN=${CF_API_TOKEN}" )
elif [[ -n "${CLOUDFLARE_API_TOKEN:-}" ]]; then
docker_env_args+=( -e "CF_API_TOKEN=${CLOUDFLARE_API_TOKEN}" )
fi
if [[ "$FORMAT_FILE" == "true" ]]; then
log_info "Formatting Caddyfile with Docker..."
docker run --rm \
"${docker_env_args[@]}" \
-v "$CONFIG_FILE:/etc/caddy/Caddyfile" \
"$CADDY_IMAGE" caddy fmt --overwrite /etc/caddy/Caddyfile
fi
@@ -60,6 +69,7 @@ if [[ "$USE_DOCKER" == "true" ]]; then
if [[ "$DO_ADAPT" == "true" ]]; then
log_info "Adapting Caddyfile (Docker)..."
docker run --rm \
"${docker_env_args[@]}" \
-v "$CONFIG_FILE:/etc/caddy/Caddyfile:ro" \
"$CADDY_IMAGE" caddy adapt --config /etc/caddy/Caddyfile --adapter caddyfile >/dev/null
fi
@@ -67,6 +77,7 @@ if [[ "$USE_DOCKER" == "true" ]]; then
if [[ "$DO_VALIDATE" == "true" ]]; then
log_info "Validating Caddyfile (Docker)..."
docker run --rm \
"${docker_env_args[@]}" \
-v "$CONFIG_FILE:/etc/caddy/Caddyfile:ro" \
"$CADDY_IMAGE" caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
fi