docker – Rev 29
?pathlinks?
FROM debian:bookworm-slim
# add filesystem requirements
ADD rootfs /
# update package manager
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get dist-upgrade -y && \
apt-get -y autoremove && \
apt-get clean
# install preliminary packages
RUN apt-get install -y \
coreutils \
bash \
curl \
ca-certificates \
build-essential \
distcc \
autoconf \
automake \
libtool \
libpcre3 \
libpcre3-dev \
zlib1g-dev \
openssl \
libssl-dev \
libbrotli-dev
# create privoxy user
RUN groupadd -g 1000 privoxy && \
useradd -s /bin/bash -g privoxy -G privoxy -u 1000 privoxy
# compile dante
WORKDIR /tmp
RUN mkdir -p /tmp/build && \
curl -o /tmp/build/privoxy.tar.gz "https://www.privoxy.org/sf-download-mirror/Sources/3.0.34%20%28stable%29/privoxy-3.0.34-stable-src.tar.gz" && \
cd /tmp/build && \
tar --strip=1 -xf privoxy.tar.gz && \
export DISTCC_HOSTS="docker1.internal:35001 docker2.internal:35002 docker3.internal:35003" CC="distcc" CXX="distcc g++" && \
autoreconf && \
./configure \
--with-user=privoxy \
--with-group=privoxy \
--with-openssl \
--with-brotli \
--enable-pcre-host-patterns \
--enable-external-filters \
--enable-accept-filter \
--enable-compression \
--enable-large-file-support && \
make -j4 && \
make -j4 install && \
cp config /etc/privoxy.config && \
rm -rf /tmp/build
# remove packages that will not be used
WORKDIR /
RUN apt-get purge -y \
curl \
git \
build-essential \
autoconf \
automake \
libtool \
distcc \
curl \
pkgconf && \
apt-get autoremove -y
EXPOSE 8118
# add remaining files
ADD rootfs /
ENTRYPOINT [ "/bin/bash", "/usr/local/bin/run" ]