From 8ae1994e4b1512975d65d09de4ebb95770ade286 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Thu, 31 Jul 2025 13:29:04 +0100 Subject: [PATCH] Update snowflake proxy image to use most recent golang and geodb --- Dockerfile | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 716a371..77673dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ -FROM docker.io/library/golang:1.23-bookworm AS build +FROM docker.io/library/golang:latest AS build -RUN apt-get update && apt-get install -y tor-geoipdb ADD . /app @@ -8,11 +7,35 @@ WORKDIR /app/proxy RUN go get RUN CGO_ENABLED=0 go build -o proxy -ldflags '-extldflags "-static" -w -s' . +FROM containers.torproject.org/tpo/tpa/base-images/debian:bookworm as debian-base + +# Install dependencies to add Tor's repository. +RUN apt-get update && apt-get install -y \ + curl \ + gpg \ + gpg-agent \ + ca-certificates \ + libcap2-bin \ + --no-install-recommends + +# See: +RUN curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import +RUN gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add - + +RUN printf "deb https://deb.torproject.org/torproject.org bookworm main\n" >> /etc/apt/sources.list.d/tor.list + +# Install remaining dependencies. +RUN apt-get update && apt-get install -y \ + tor \ + tor-geoipdb \ + --no-install-recommends + + FROM scratch -COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt -COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo -COPY --from=build /usr/share/tor/geoip* /usr/share/tor/ +COPY --from=debian-base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --from=debian-base /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=debian-base /usr/share/tor/geoip* /usr/share/tor/ COPY --from=build /app/proxy/proxy /bin/proxy ENTRYPOINT [ "/bin/proxy" ]