# Stage 1: Build Caddy with required plugins FROM golang:latest AS builder # Enable Go Modules and set Go proxy to avoid direct GitHub calls ENV GO111MODULE=on ENV GOPROXY=https://proxy.golang.org,direct # Install xcaddy RUN go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest # Build Caddy with required plugins RUN xcaddy build \ --with github.com/lucaslorentz/caddy-docker-proxy/v2 \ --with github.com/crowdsecurity/caddy-bouncer/v2 # Stage 2: Create final lightweight image FROM caddy:latest # Copy built Caddy binary from builder stage COPY --from=builder /go/bin/caddy /usr/bin/caddy