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