-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
106 lines (97 loc) · 2.48 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
# Install tools and dependencies
RUN apt-get update && \
apt-get -y install --no-install-recommends \
ca-certificates \
libsasl2-modules \
git \
automake \
autopoint \
autoconf \
texinfo \
libtool \
libltdl-dev \
libgpg-error-dev \
libidn11-dev \
libunistring-dev \
libglpk-dev \
libbluetooth-dev \
libextractor-dev \
libmicrohttpd-dev \
libgnutls28-dev \
libgcrypt20-dev \
libpq-dev \
libsqlite3-dev && \
apt-get clean all && \
apt-get -y autoremove && \
rm -rf \
/var/lib/apt/lists/* \
/tmp/*
# Install GNUrl
ENV GNURL_GIT_URL https://git.taler.net/gnurl.git
ENV GNURL_GIT_BRANCH gnurl-7.57.0
RUN git clone $GNURL_GIT_URL \
--branch $GNURL_GIT_BRANCH \
--depth=1 \
--quiet && \
cd /gnurl && \
autoreconf -i && \
./configure \
--enable-ipv6 \
--with-gnutls \
--without-libssh2 \
--without-libmetalink \
--without-winidn \
--without-librtmp \
--without-nghttp2 \
--without-nss \
--without-cyassl \
--without-polarssl \
--without-ssl \
--without-winssl \
--without-darwinssl \
--disable-sspi \
--disable-ntlm-wb \
--disable-ldap \
--disable-rtsp \
--disable-dict \
--disable-telnet \
--disable-tftp \
--disable-pop3 \
--disable-imap \
--disable-smtp \
--disable-gopher \
--disable-file \
--disable-ftp \
--disable-smb && \
make install && \
cd - && \
rm -fr /gnurl
# Install GNUnet
ENV GNUNET_GIT_URL https://gnunet.org/git/gnunet
ENV GNUNET_GIT_BRANCH master
ENV GNUNET_PREFIX /usr/local/gnunet
ENV CFLAGS '-g -Wall -O0'
RUN git clone $GNUNET_GIT_URL \
--branch $GNUNET_GIT_BRANCH \
--depth=1 \
--quiet && \
cd /gnunet && \
./bootstrap && \
./configure \
--with-nssdir=/lib \
--prefix="$GNUNET_PREFIX" \
--enable-logging=verbose && \
make -j3 && \
make install && \
ldconfig && \
cd - && \
rm -fr /gnunet
# Configure GNUnet
COPY gnunet.conf /etc/gnunet.conf
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN chmod 755 /usr/local/bin/docker-entrypoint
ENV LOCAL_PORT_RANGE='40001 40200'
ENV PATH "$GNUNET_PREFIX/bin:/usr/local/bin:$PATH"
ENTRYPOINT ["docker-entrypoint"]