FROM alpine:3.21

# squid: proxy. netcat-openbsd: health check
RUN apk add --no-cache squid netcat-openbsd

# squid user is created by the package (apk add squid)
RUN mkdir -p /var/cache/squid /var/log/squid \
    && chown -R squid:squid /var/cache/squid /var/log/squid /etc/squid

COPY --chown=squid:squid squid.conf /etc/squid/squid.conf

USER squid

EXPOSE 3128

HEALTHCHECK --interval=10s --timeout=5s --retries=3 \
    CMD nc -z 127.0.0.1 3128 || exit 1

CMD ["squid", "-N", "-f", "/etc/squid/squid.conf"]
