2023-07-06 09:29:32 +02:00
|
|
|
FROM alpine:3.18.2
|
|
|
|
|
|
|
|
#LABEL build_version=""
|
|
|
|
LABEL maintainer="OCram85"
|
|
|
|
ARG VERSION
|
|
|
|
LABEL build_version="${VERSION}"
|
|
|
|
LABEL org.opencontainers.image.authors="OCram85"
|
|
|
|
LABEL org.opencontainers.image.vendor="OCram85"
|
|
|
|
|
|
|
|
LABEL org.opencontainers.image.title="swarmproxy"
|
|
|
|
LABEL org.opencontainers.image.description="tinyproxy docker image"
|
|
|
|
LABEL org.opencontainers.image.licenses="AGPL-3.0"
|
|
|
|
ARG TAG
|
|
|
|
LABEL org.opencontainers.image.version="${TAG}"
|
|
|
|
|
|
|
|
LABEL org.opencontainers.image.url="https://gitea.ocram85.com/OCram85/swarmproxy"
|
|
|
|
LABEL org.opencontainers.image.source="https://gitea.ocram85.com/OCram85/swarmproxy.git"
|
|
|
|
LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/OCram85/swarmproxy"
|
|
|
|
|
|
|
|
# Use a custom UID/GID instead of the default system UID which has a greater possibility
|
|
|
|
# for collisions with the host and other containers.
|
|
|
|
ENV TINYPROXY_UID 5123
|
|
|
|
ENV TINYPROXY_GID 5123
|
|
|
|
|
|
|
|
ENV UPSTREAM_PROXY ""
|
2023-07-10 17:17:59 +02:00
|
|
|
ENV UPSTREAM_PROXY_FILE ""
|
2023-07-06 09:29:32 +02:00
|
|
|
ENV PORT "8888"
|
|
|
|
ENV TIMEOUT "600"
|
|
|
|
ENV LOGLEVEL "Info"
|
|
|
|
ENV MAXCLIENTS "600"
|
|
|
|
ENV FILTER_FILE "/etc/tinyproxy/filter"
|
|
|
|
|
|
|
|
# Curl is for healthchecks.
|
|
|
|
RUN apk add --no-cache \
|
|
|
|
tinyproxy curl
|
|
|
|
|
|
|
|
RUN mv /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.default.conf
|
|
|
|
|
|
|
|
RUN <<EOF cat >> /etc/tinyproxy/tinyproxy.conf
|
|
|
|
User $TINYPROXY_UID
|
|
|
|
Group $TINYPROXY_GID
|
|
|
|
Port $PORT
|
|
|
|
Timeout $TIMEOUT
|
|
|
|
DefaultErrorFile "/usr/share/tinyproxy/default.html"
|
|
|
|
|
|
|
|
StatHost "tinyproxy.stats"
|
|
|
|
StatFile "/usr/share/tinyproxy/stats.html"
|
|
|
|
|
|
|
|
LogLevel $LOGLEVEL
|
|
|
|
MaxClients $MAXCLIENTS
|
|
|
|
ViaProxyName "tinyproxy"
|
|
|
|
|
|
|
|
Filter "$FILTER_FILE"
|
|
|
|
FilterURLs Off
|
|
|
|
FilterCaseSensitive Off
|
|
|
|
FilterDefaultDeny Yes
|
|
|
|
|
|
|
|
Allow 127.0.0.1/8
|
|
|
|
Allow 10.0.0.0/8
|
2023-07-10 17:17:59 +02:00
|
|
|
|
2023-07-06 09:29:32 +02:00
|
|
|
EOF
|
|
|
|
|
2023-07-10 17:17:59 +02:00
|
|
|
RUN set -eu && \
|
|
|
|
CONFIG='/etc/tinyproxy/tinyproxy.conf' && \
|
|
|
|
[ -z "$UPSTREAM_PROXY_FILE" ] || export UPSTREAM_PROXY=$(cat $UPSTREAM_PROXY_FILE) && \
|
|
|
|
[ -z "$UPSTREAM_PROXY" ] || echo "upstream http $UPSTREAM_PROXY \".\"" >> "$CONFIG"
|
|
|
|
|
2023-07-06 09:29:32 +02:00
|
|
|
RUN chown -R ${TINYPROXY_UID}:${TINYPROXY_GID} /etc/tinyproxy /var/log/tinyproxy
|
|
|
|
USER ${TINYPROXY_UID}:${TINYPROXY_GID}
|
|
|
|
|
|
|
|
EXPOSE 8888
|
|
|
|
|
|
|
|
ENTRYPOINT ["/usr/bin/tinyproxy", "-d"]
|