2025-12-07 15:22:28 -07:00
|
|
|
# Build custom Caddy with SIP Guardian and Layer 4 support
|
|
|
|
|
# Use latest builder with Go 1.25+ for caddy-l4 compatibility
|
|
|
|
|
FROM caddy:builder AS builder
|
2025-12-06 16:38:07 -07:00
|
|
|
|
2025-12-07 15:22:28 -07:00
|
|
|
# Copy local module source
|
|
|
|
|
COPY . /src/caddy-sip-guardian
|
|
|
|
|
|
|
|
|
|
# Build Caddy with local module (using replace directive)
|
|
|
|
|
# Using latest caddy-l4 which requires Go 1.25+
|
|
|
|
|
WORKDIR /src
|
2025-12-06 16:38:07 -07:00
|
|
|
RUN xcaddy build \
|
|
|
|
|
--with github.com/mholt/caddy-l4 \
|
2025-12-07 15:22:28 -07:00
|
|
|
--with git.supported.systems/rsp2k/caddy-sip-guardian=/src/caddy-sip-guardian
|
2025-12-06 16:38:07 -07:00
|
|
|
|
2025-12-07 15:22:28 -07:00
|
|
|
FROM caddy:alpine
|
2025-12-06 16:38:07 -07:00
|
|
|
|
2025-12-07 15:22:28 -07:00
|
|
|
COPY --from=builder /src/caddy /usr/bin/caddy
|
2025-12-06 16:38:07 -07:00
|
|
|
|
|
|
|
|
# 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"]
|
2025-12-07 15:22:28 -07:00
|
|
|
# Default: run with Caddyfile
|
|
|
|
|
CMD ["run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
|