dockerfiles/tor/Dockerfile

69 lines
2.5 KiB
Docker
Raw Normal View History

2017-03-08 16:27:08 +01:00
FROM alpine:edge
2016-05-06 12:39:35 +02:00
2017-03-08 16:27:08 +01:00
ARG TOR_VERSION=0.2.9.10
2016-05-08 13:05:53 +02:00
ARG ARM_VERSION=1.4.5.0
2017-01-16 22:13:29 +01:00
ARG GPG_Mathewson="2133 BC60 0AB1 33E1 D826 D173 FE43 009C 4607 B1FB"
2016-05-08 13:05:53 +02:00
ARG GPG_Johnson="6827 8CC5 DD2D 1E85 C4E4 5AD9 0445 B7AB 9ABB EEC6"
2016-09-16 17:08:06 +02:00
ENV TERM=xterm \
UID=991 GID=991
2016-05-06 19:36:08 +02:00
2016-09-16 17:08:06 +02:00
RUN echo "@community https://nl.alpinelinux.org/alpine/v3.4/community" >> /etc/apk/repositories \
&& BUILD_DEPS=" \
libevent-dev \
2017-01-16 22:13:29 +01:00
libressl-dev \
zlib-dev \
build-base \
gnupg \
ca-certificates" \
2017-03-08 16:27:08 +01:00
&& apk -U upgrade && apk add \
${BUILD_DEPS} \
2016-09-16 17:08:06 +02:00
su-exec \
tini@community \
python \
libevent \
2017-01-16 22:13:29 +01:00
libressl \
zlib \
&& cd /tmp \
2016-05-08 13:47:45 +02:00
&& TOR_TARBALL="tor-${TOR_VERSION}.tar.gz" \
&& wget -q https://www.torproject.org/dist/${TOR_TARBALL} \
2016-05-08 13:49:27 +02:00
&& echo "Verifying ${TOR_TARBALL} using GPG..." \
2016-05-08 13:47:45 +02:00
&& wget -q https://www.torproject.org/dist/${TOR_TARBALL}.asc \
2017-01-16 22:13:29 +01:00
&& gpg --keyserver pool.sks-keyservers.net --recv-keys 0xFE43009C4607B1FB \
2016-05-08 13:47:45 +02:00
&& FINGERPRINT="$(LANG=C gpg --verify ${TOR_TARBALL}.asc ${TOR_TARBALL} 2>&1 \
2016-05-08 12:29:41 +02:00
| sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \
&& if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \
&& if [ "${FINGERPRINT}" != "${GPG_Mathewson}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
2016-05-08 13:47:45 +02:00
&& echo "All seems good, now unpacking ${TOR_TARBALL}..." \
&& tar xzf ${TOR_TARBALL} && cd tor-${TOR_VERSION} \
&& ./configure --disable-asciidoc && make && make install \
&& cd /tmp \
2016-05-08 13:47:45 +02:00
&& ARM_TARBALL="arm-${ARM_VERSION}.tar.bz2" \
&& wget -q https://www.atagar.com/arm/resources/static/${ARM_TARBALL} \
&& echo "Verifying ${ARM_TARBALL}..." \
&& wget -q https://www.atagar.com/arm/resources/static/${ARM_TARBALL}.asc \
2016-05-08 13:05:53 +02:00
&& gpg --keyserver pgp.mit.edu --recv-keys 0x9ABBEEC6 \
2016-05-08 13:47:45 +02:00
&& FINGERPRINT="$(LANG=C gpg --verify ${ARM_TARBALL}.asc ${ARM_TARBALL} 2>&1 \
2016-05-08 13:05:53 +02:00
| sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \
&& if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \
&& if [ "${FINGERPRINT}" != "${GPG_Johnson}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
2016-05-08 13:47:45 +02:00
&& echo "All seems good, now unpacking ${ARM_TARBALL}..." \
&& tar xjf /tmp/${ARM_TARBALL} && cd arm && ./install \
&& apk del ${BUILD_DEPS} \
2016-05-30 19:43:23 +02:00
&& rm -rf /var/cache/apk/* /tmp/* /root/.gnupg
2016-05-06 12:39:35 +02:00
2016-09-16 17:08:06 +02:00
COPY run.sh /usr/local/bin/run.sh
RUN chmod +x /usr/local/bin/run.sh
VOLUME /tor/config /tor/data
2016-05-06 19:21:00 +02:00
EXPOSE 9001 9030
2016-05-08 13:05:53 +02:00
2017-01-19 02:31:59 +01:00
LABEL tor="Tor $TOR_VERSION" \
arm="Arm $ARM_VERSION" \
maintainer="Wonderfall <wonderfall@targaryen.house>"
2016-09-16 17:08:06 +02:00
ENTRYPOINT ["run.sh"]