Files
cloudflare_balancer/Dockerfile
T
Denozordec 2671e90d20
Docker / build (push) Successful in 31s
Init Commit
2026-03-23 17:31:26 +07:00

43 lines
1022 B
Docker

FROM alpine:3.20
RUN apk add --no-cache \
bash \
curl \
jq \
bind-tools \
iputils \
socat \
libcap \
&& setcap cap_net_raw+ep /usr/bin/ping 2>/dev/null || true
RUN mkdir -p /var/www/cfb \
&& chown -R nobody:nogroup /var/www/cfb
COPY --chmod=755 entrypoint.sh status-handler.sh /opt/cfb/
RUN chown -R nobody:nogroup /opt/cfb
USER nobody:nogroup
WORKDIR /opt/cfb
ENV CHECK_INTERVAL_SEC=30 \
CHECK_MODE=ping \
PING_COUNT=2 \
PING_TIMEOUT_SEC=2 \
CURL_MAX_TIME_SEC=5 \
CURL_CONNECT_TIMEOUT_SEC=3 \
CURL_URL_TEMPLATE='http://%s/' \
CURL_OK_MIN=200 \
CURL_OK_MAX=399 \
DEFAULT_TTL=300 \
DEFAULT_PROXIED=false \
ENABLE_STATUS_HTTP=0 \
STATUS_HTTP_PORT=8080 \
STATUS_HTTP_ALLOW_IPS=""
EXPOSE 8080
HEALTHCHECK --interval=45s --timeout=5s --start-period=20s --retries=3 \
CMD test -f /tmp/cfb.liveness && test "$(($(date +%s) - $(stat -c %Y /tmp/cfb.liveness)))" -lt 180 || exit 1
ENTRYPOINT ["/bin/bash", "/opt/cfb/entrypoint.sh"]