aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 5a193a46d75ae119d23abef9554547017f71a6a2 (plain) (blame)
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
from fedora:26

# Install the required build tools
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

WORKDIR /usr/src

# Install gnurl from source at version gnurl-7.54.0
RUN git clone https://git.taler.net/gnurl.git --branch gnurl-7.54.0
WORKDIR /usr/src/gnurl
RUN autoreconf -i
RUN ./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
RUN make install
WORKDIR /usr/src

RUN dnf -y install wget flex bison

# Install libpbc
RUN wget https://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz
RUN tar xvzpf pbc-0.5.14.tar.gz
WORKDIR /usr/src/pbc-0.5.14
RUN ./configure --prefix=/usr
RUN make install
WORKDIR /usr/src

RUN dnf -y install glib2-devel

# Install libbswabe
RUN git clone https://github.com/schanzen/libgabe.git
WORKDIR /usr/src/libgabe
RUN ./configure --prefix=/usr
RUN make install

# Install WebUI
WORKDIR /usr/src/
RUN git clone https://github.com/schanzen/gnunet-webui.git
WORKDIR /usr/src/gnunet-webui
RUN git checkout gnuidentity

RUN mkdir /usr/src/gnunet
WORKDIR /usr/src/gnunet
ADD . .
ARG NUM_JOBS
RUN ./bootstrap
RUN ./configure --prefix=/usr/local
RUN make -j$NUM_JOBS
RUN make install

RUN groupadd gnunetdns
RUN adduser --system -m --home-dir /var/lib/gnunet gnunet
RUN chown gnunet:gnunet /var/lib/gnunet
RUN echo '[arm]\nSYSTEM_ONLY = YES\nUSER_ONLY = NO\n' > /etc/gnunet.conf

ADD docker-entrypoint.sh .

CMD ["sh", "docker-entrypoint.sh"]