diff options
Diffstat (limited to 'contrib/Dockerfile')
-rw-r--r-- | contrib/Dockerfile | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/contrib/Dockerfile b/contrib/Dockerfile new file mode 100644 index 000000000..5a193a46d --- /dev/null +++ b/contrib/Dockerfile | |||
@@ -0,0 +1,63 @@ | |||
1 | from fedora:26 | ||
2 | |||
3 | # Install the required build tools | ||
4 | RUN dnf -y update && dnf -y install which git automake texinfo gettext-devel autoconf libtool libtool-ltdl-devel libidn-devel libunistring-devel glpk libextractor-devel libmicrohttpd-devel gnutls libgcrypt-devel jansson-devel sqlite-devel npm | ||
5 | |||
6 | WORKDIR /usr/src | ||
7 | |||
8 | # Install gnurl from source at version gnurl-7.54.0 | ||
9 | RUN git clone https://git.taler.net/gnurl.git --branch gnurl-7.54.0 | ||
10 | WORKDIR /usr/src/gnurl | ||
11 | RUN autoreconf -i | ||
12 | RUN ./configure --enable-ipv6 --with-gnutls --without-libssh2 \ | ||
13 | --without-libmetalink --without-winidn --without-librtmp \ | ||
14 | --without-nghttp2 --without-nss --without-cyassl \ | ||
15 | --without-polarssl --without-ssl --without-winssl \ | ||
16 | --without-darwinssl --disable-sspi --disable-ntlm-wb --disable-ldap \ | ||
17 | --disable-rtsp --disable-dict --disable-telnet --disable-tftp \ | ||
18 | --disable-pop3 --disable-imap --disable-smtp --disable-gopher \ | ||
19 | --disable-file --disable-ftp --disable-smb | ||
20 | RUN make install | ||
21 | WORKDIR /usr/src | ||
22 | |||
23 | RUN dnf -y install wget flex bison | ||
24 | |||
25 | # Install libpbc | ||
26 | RUN wget https://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz | ||
27 | RUN tar xvzpf pbc-0.5.14.tar.gz | ||
28 | WORKDIR /usr/src/pbc-0.5.14 | ||
29 | RUN ./configure --prefix=/usr | ||
30 | RUN make install | ||
31 | WORKDIR /usr/src | ||
32 | |||
33 | RUN dnf -y install glib2-devel | ||
34 | |||
35 | # Install libbswabe | ||
36 | RUN git clone https://github.com/schanzen/libgabe.git | ||
37 | WORKDIR /usr/src/libgabe | ||
38 | RUN ./configure --prefix=/usr | ||
39 | RUN make install | ||
40 | |||
41 | # Install WebUI | ||
42 | WORKDIR /usr/src/ | ||
43 | RUN git clone https://github.com/schanzen/gnunet-webui.git | ||
44 | WORKDIR /usr/src/gnunet-webui | ||
45 | RUN git checkout gnuidentity | ||
46 | |||
47 | RUN mkdir /usr/src/gnunet | ||
48 | WORKDIR /usr/src/gnunet | ||
49 | ADD . . | ||
50 | ARG NUM_JOBS | ||
51 | RUN ./bootstrap | ||
52 | RUN ./configure --prefix=/usr/local | ||
53 | RUN make -j$NUM_JOBS | ||
54 | RUN make install | ||
55 | |||
56 | RUN groupadd gnunetdns | ||
57 | RUN adduser --system -m --home-dir /var/lib/gnunet gnunet | ||
58 | RUN chown gnunet:gnunet /var/lib/gnunet | ||
59 | RUN echo '[arm]\nSYSTEM_ONLY = YES\nUSER_ONLY = NO\n' > /etc/gnunet.conf | ||
60 | |||
61 | ADD docker-entrypoint.sh . | ||
62 | |||
63 | CMD ["sh", "docker-entrypoint.sh"] | ||