Files
web/deployment/caddy/Dockerfile
T
2026-04-01 14:22:21 +03:00

32 lines
928 B
Docker

#
# Custom Caddy built with:
# - Rate limit plugin
#
FROM caddy:2-builder AS builder
RUN xcaddy build \
--with github.com/mholt/caddy-ratelimit
FROM caddy:2
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
COPY Caddyfile /etc/caddy/Caddyfile
COPY additions /etc/caddy/additions
# Merge base Caddyfile + additional snippets (if present),
# in alphabetical order, and remove additions from final image.
RUN sh -c 'set -eu; \
if [ -d /etc/caddy/additions ]; then \
tmp="$(mktemp)"; \
cat /etc/caddy/Caddyfile > "$tmp"; \
for f in $(printf "%s\n" /etc/caddy/additions/* 2>/dev/null | sort); do \
[ -f "$f" ] || continue; \
base="$(basename "$f")"; \
[ "$base" = ".gitkeep" ] && continue; \
[ "$base" = ".gitignore" ] && continue; \
printf "\n\n" >> "$tmp"; \
cat "$f" >> "$tmp"; \
done; \
mv "$tmp" /etc/caddy/Caddyfile; \
rm -rf /etc/caddy/additions; \
fi'