docker – Diff between revs 9 and 12
?pathlinks?
Rev 9 | Rev 12 | |||
---|---|---|---|---|
Line 8... | Line 8... | |||
8 | apt-get clean |
8 | apt-get clean |
|
Line 9... | Line 9... | |||
9 | |
9 | |
|
10 | # install required packages |
10 | # install required packages |
|
11 | RUN apt-get install -y \ |
11 | RUN apt-get install -y \ |
|
- | 12 | expect \ |
||
12 | expect \ |
13 | telnet \ |
|
13 | coreutils \ |
14 | coreutils \ |
|
14 | bash \ |
15 | bash \ |
|
15 | curl \ |
16 | curl \ |
|
16 | git \ |
17 | git \ |
|
- | 18 | build-essential \ |
||
17 | build-essential \ |
19 | distcc \ |
|
18 | autoconf \ |
20 | autoconf \ |
|
19 | automake \ |
21 | automake \ |
|
20 | libtool \ |
22 | libtool \ |
|
21 | pkgconf \ |
23 | pkgconf \ |
|
Line 28... | Line 30... | |||
28 | |
30 | |
|
29 | # install the latest golang |
31 | # install the latest golang |
|
30 | WORKDIR /tmp |
32 | WORKDIR /tmp |
|
31 | 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 && \ |
33 | 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 && \ |
|
32 | tar -xzf go.tar.gz && \ |
34 | tar -xzf go.tar.gz && \ |
|
33 | rm go.tar.gz |
- | ||
34 | |
- | ||
35 | # compile the latest snowflake |
- | ||
36 | WORKDIR /tmp |
35 | rm go.tar.gz && \ |
|
37 | RUN git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git |
36 | git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git && \ |
|
38 | WORKDIR /tmp/snowflake/client |
37 | cd /tmp/snowflake/client && \ |
|
39 | RUN /tmp/go/bin/go build && \ |
38 | /tmp/go/bin/go build && \ |
|
40 | mkdir -p /usr/local/bin && \ |
39 | mkdir -p /usr/local/bin && \ |
|
- | 40 | cp client /usr/local/bin/snowflake-client && \ |
||
- | 41 | cd /tmp && \ |
||
Line 41... | Line 42... | |||
41 | cp client /usr/local/bin/snowflake-client |
42 | rm -rf /tmp/{go,snowflake} |
|
42 | |
43 | |
|
43 | # compile the latest tor |
44 | # compile the latest tor |
|
44 | WORKDIR /tmp |
45 | WORKDIR /tmp |
|
- | 46 | RUN git clone https://gitlab.torproject.org/tpo/core/tor.git && \ |
||
45 | RUN git clone https://gitlab.torproject.org/tpo/core/tor.git |
47 | cd /tmp/tor && \ |
|
46 | WORKDIR /tmp/tor |
48 | export DISTCC_HOSTS="docker.internal:35001 docker.internal:35002" CC=distcc CXX='distcc g++' && \ |
|
47 | RUN ./autogen.sh && \ |
49 | ./autogen.sh && \ |
|
48 | ./configure \ |
50 | ./configure \ |
|
49 | --enable-lzma \ |
51 | --enable-lzma \ |
|
50 | --enable-zstd \ |
52 | --enable-zstd \ |
|
51 | --disable-gcc-hardening \ |
53 | --disable-gcc-hardening \ |
|
52 | --disable-linker-hardening \ |
54 | --disable-linker-hardening \ |
|
53 | --disable-manpage \ |
55 | --disable-manpage \ |
|
54 | --disable-html-manual \ |
56 | --disable-html-manual \ |
|
55 | --disable-asciidoc \ |
57 | --disable-asciidoc \ |
|
56 | --disable-unittests && \ |
58 | --disable-unittests && \ |
|
57 | make && \ |
59 | make -j4 && \ |
|
- | 60 | mkdir -p /usr/local/bin && \ |
||
- | 61 | cp /tmp/tor/src/app/tor /usr/local/bin/ && \ |
||
Line 58... | Line 62... | |||
58 | mkdir -p /usr/local/bin && \ |
62 | cd /tmp && \ |
|
59 | cp src/app/tor /usr/local/bin/ |
63 | rm -rf /tmp/tor |
|
60 | |
- | ||
61 | # remove packages that will not be used |
64 | |
|
62 | WORKDIR / |
65 | # remove packages that will not be used |
|
63 | RUN rm -rf /tmp/{snowflake,tor,go} |
66 | WORKDIR / |
|
64 | RUN apt-get purge -y \ |
67 | RUN apt-get purge -y \ |
|
65 | curl \ |
68 | curl \ |
|
Line 76... | Line 79... | |||
76 | |
79 | |
|
77 | # add filesystem requirements |
80 | # add filesystem requirements |
|
Line 78... | Line 81... | |||
78 | ADD rootfs / |
81 | ADD rootfs / |
|
79 | |
82 | |
|
80 | # set up healthcheck |
83 | # set up healthcheck |
|
Line 81... | Line 84... | |||
81 | HEALTHCHECK --interval=5m --timeout=3s \ |
84 | HEALTHCHECK --interval=15m --timeout=3s \ |
|
82 | CMD /usr/local/bin/tor-check-circuit |
85 | CMD /usr/local/bin/tor-check-circuit |