mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
32 lines
928 B
Docker
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' |