aboutsummaryrefslogtreecommitdiff
path: root/contrib/ci/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ci/docker/Dockerfile')
-rw-r--r--contrib/ci/docker/Dockerfile57
1 files changed, 57 insertions, 0 deletions
diff --git a/contrib/ci/docker/Dockerfile b/contrib/ci/docker/Dockerfile
new file mode 100644
index 0000000000..974e41a5e0
--- /dev/null
+++ b/contrib/ci/docker/Dockerfile
@@ -0,0 +1,57 @@
+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
+RUN wget https://ftp.gnu.org/gnu/gnunet/gnurl-7.59.0.tar.gz
+RUN tar xvzpf gnurl-7.59.0.tar.gz
+WORKDIR /usr/src/gnurl-7.59.0
+RUN autoreconf -i
+RUN ./configure --disable-ntlm-wb
+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 -S -m -h /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"]