aboutsummaryrefslogtreecommitdiff
path: root/contrib/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/Dockerfile')
-rw-r--r--contrib/Dockerfile63
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 @@
1from fedora:26
2
3# Install the required build tools
4RUN 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
6WORKDIR /usr/src
7
8# Install gnurl from source at version gnurl-7.54.0
9RUN git clone https://git.taler.net/gnurl.git --branch gnurl-7.54.0
10WORKDIR /usr/src/gnurl
11RUN autoreconf -i
12RUN ./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
20RUN make install
21WORKDIR /usr/src
22
23RUN dnf -y install wget flex bison
24
25# Install libpbc
26RUN wget https://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz
27RUN tar xvzpf pbc-0.5.14.tar.gz
28WORKDIR /usr/src/pbc-0.5.14
29RUN ./configure --prefix=/usr
30RUN make install
31WORKDIR /usr/src
32
33RUN dnf -y install glib2-devel
34
35# Install libbswabe
36RUN git clone https://github.com/schanzen/libgabe.git
37WORKDIR /usr/src/libgabe
38RUN ./configure --prefix=/usr
39RUN make install
40
41# Install WebUI
42WORKDIR /usr/src/
43RUN git clone https://github.com/schanzen/gnunet-webui.git
44WORKDIR /usr/src/gnunet-webui
45RUN git checkout gnuidentity
46
47RUN mkdir /usr/src/gnunet
48WORKDIR /usr/src/gnunet
49ADD . .
50ARG NUM_JOBS
51RUN ./bootstrap
52RUN ./configure --prefix=/usr/local
53RUN make -j$NUM_JOBS
54RUN make install
55
56RUN groupadd gnunetdns
57RUN adduser --system -m --home-dir /var/lib/gnunet gnunet
58RUN chown gnunet:gnunet /var/lib/gnunet
59RUN echo '[arm]\nSYSTEM_ONLY = YES\nUSER_ONLY = NO\n' > /etc/gnunet.conf
60
61ADD docker-entrypoint.sh .
62
63CMD ["sh", "docker-entrypoint.sh"]