docker – Blame information for rev 54

Subversion Repositories:
Rev:
Rev Author Line No. Line
54 office 1 FROM debian:bullseye-slim
9 office 2  
3 # update package manager
4 RUN apt-get update -y && \
5 apt-get upgrade -y && \
6 apt-get dist-upgrade -y && \
7 apt-get -y autoremove && \
8 apt-get clean
9  
10 # install required packages
11 RUN apt-get install -y \
12 expect \
12 office 13 telnet \
9 office 14 coreutils \
15 bash \
16 curl \
17 git \
18 build-essential \
12 office 19 distcc \
9 office 20 autoconf \
21 automake \
22 libtool \
23 pkgconf \
24 libevent-dev \
25 libssl-dev \
26 libzstd-dev \
27 liblzma-dev \
28 zlib1g \
47 office 29 zlib1g-dev \
30 supervisor \
54 office 31 libssl1.1 \
32 libicu67 \
33 unzip
9 office 34  
35 # install the latest golang
36 WORKDIR /tmp
37 RUN curl -fsSL "https://go.dev/dl/$(curl -s 'https://go.dev/VERSION?m=text' | head -1).linux-amd64.tar.gz" -o go.tar.gz && \
38 tar -xzf go.tar.gz && \
12 office 39 rm go.tar.gz && \
40 git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git && \
41 cd /tmp/snowflake/client && \
42 /tmp/go/bin/go build && \
9 office 43 mkdir -p /usr/local/bin && \
12 office 44 cp client /usr/local/bin/snowflake-client && \
45 cd /tmp && \
46 rm -rf /tmp/{go,snowflake}
9 office 47  
48 # compile the latest tor
49 WORKDIR /tmp
12 office 50 RUN git clone https://gitlab.torproject.org/tpo/core/tor.git && \
51 cd /tmp/tor && \
54 office 52 export DISTCC_HOSTS="docker1.internal:35001 docker2.internal:35002" CC=distcc CXX='distcc g++' && \
12 office 53 ./autogen.sh && \
9 office 54 ./configure \
55 --enable-lzma \
56 --enable-zstd \
57 --disable-gcc-hardening \
58 --disable-linker-hardening \
59 --disable-manpage \
60 --disable-html-manual \
61 --disable-asciidoc \
62 --disable-unittests && \
12 office 63 make -j4 && \
9 office 64 mkdir -p /usr/local/bin && \
12 office 65 cp /tmp/tor/src/app/tor /usr/local/bin/ && \
66 cd /tmp && \
67 rm -rf /tmp/tor
9 office 68  
54 office 69 # install checkcircuit
70 WORKDIR /tmp
71 RUN curl -fsSL https://checkcircuit.grimore.org/download/linux-x64/CheckCircuit-1.0.7.1-linux-x64.zip -o checkcircuit.zip && \
72 unzip checkcircuit.zip && \
73 mv CheckCircuit /usr/local/bin/ && \
74 rm -rf checkcircuit.zip CheckCircuit
75  
9 office 76 # remove packages that will not be used
77 WORKDIR /
78 RUN apt-get purge -y \
79 curl \
80 git \
81 build-essential \
82 autoconf \
83 automake \
84 libtool \
85 pkgconf && \
86 apt-get autoremove -y
87  
88 # tor required port
47 office 89 EXPOSE 9050 7050 9053
9 office 90  
91 # add filesystem requirements
92 ADD rootfs /
93  
47 office 94 # execute the bootstrapper that will start tor
95 ENTRYPOINT [ "supervisord", "-t", "-n", "-c", "/etc/supervisor.conf" ]
9 office 96