Merge remote-tracking branch 'origin/identity_abe' into identity_oidc
[oweals/gnunet.git] / Dockerfile
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"]