# Build custom Caddy with SIP Guardian, Layer 4, Rate Limiting, and Docker Proxy
FROM caddy:2.8-builder AS builder

RUN xcaddy build \
    --with github.com/lucaslorentz/caddy-docker-proxy/v2 \
    --with github.com/mholt/caddy-l4 \
    --with github.com/mholt/caddy-ratelimit \
    --with github.com/ryanmalloy/caddy-sip-guardian

FROM caddy:2.8-alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD wget -qO- http://localhost:2019/config/ || exit 1

EXPOSE 80 443 443/udp 5060 5060/udp 5061

ENTRYPOINT ["caddy"]
# Default: docker-proxy mode (reads Docker labels)
# Override with explicit Caddyfile if needed
CMD ["docker-proxy"]
