19 lines
609 B
Groff
19 lines
609 B
Groff
# 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
|