FROM debian ENV TOR_VERSION=13.5.1 # Via https://dist.torproject.org/torbrowser/$TOR_VERSION/sha256sums-signed-build.txt ENV SHA256_CHECKSUM=d53c712d68cd77add4c620aa4d68ea6b9ba9ade3ab857e0c68c0f03c4108ca8a ENV RELEASE_FILE=tor-browser-linux-x86_64-${TOR_VERSION}.tar.xz ENV RELEASE_KEY=0x4E2C6E8793298290 ENV RELEASE_URL=https://dist.torproject.org/torbrowser/${TOR_VERSION}/${RELEASE_FILE} ENV PATH=$PATH:/usr/local/bin/Browser RUN apt-get update && \ apt-get install -y \ ca-certificates \ curl \ file \ gpg \ libx11-xcb1 \ libasound2 \ libdbus-glib-1-2 \ libgtk-3-0 \ libxrender1 \ libxt6 \ xz-utils && \ rm -rf /var/lib/apt/lists/* && \ useradd --create-home --home-dir /home/user user && \ chown -R user:user /home/user WORKDIR /usr/local/bin # TODO(hkjn): Stop having gpg import key command separate layer, if we # can figure out why it's flaky and commonly gives "keys: key # 4E2C6E8793298290 can't be retrieved, gpg: no valid OpenPGP data # found." RUN gpg --keyserver keys.openpgp.org --recv-keys ${RELEASE_KEY} RUN curl --fail -O -sSL ${RELEASE_URL} && \ curl --fail -O -sSL ${RELEASE_URL}.asc && \ gpgv --keyring /root/.gnupg/pubring.kbx ./${RELEASE_FILE}.asc ${RELEASE_FILE} && \ echo "$SHA256_CHECKSUM $RELEASE_FILE" > sha256sums.txt && \ sha256sum -c sha256sums.txt && \ tar --strip-components=1 -vxJf ${RELEASE_FILE} && \ rm -v ${RELEASE_FILE}* sha256sums.txt && \ mkdir -p /usr/local/bin/Browser/Downloads && \ chown -R user:user /usr/local/bin WORKDIR /usr/local/bin/Browser/Downloads USER user COPY ["start", "/usr/local/bin/"] ENTRYPOINT ["start"] CMD [""]