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"]