docker – Blame information for rev 54
?pathlinks?
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 |