summaryrefslogtreecommitdiff
path: root/contrib/docker
diff options
context:
space:
mode:
authorDevan Carpenter <git@dvn.me>2018-12-23 03:45:56 -0600
committerDevan Carpenter <git@dvn.me>2018-12-23 03:45:56 -0600
commit46ca89d186871dd5d3e31433bc0997e0cbb61d0f (patch)
tree74a74e3b802ec7db68dcc4d3dce41295e41b8941 /contrib/docker
parentd37218d0b13292b78fcfc08d2903d6e415da0236 (diff)
contrib: Move Dockerfile to appropriate dir
Dockerfile was moved into the root directory incorrectly. This commit moves it into the "docker" directory, alongside its associated assets.
Diffstat (limited to 'contrib/docker')
-rw-r--r--contrib/docker/Dockerfile102
1 files changed, 102 insertions, 0 deletions
diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile
new file mode 100644
index 000000000..4fdd91f60
--- /dev/null
+++ b/contrib/docker/Dockerfile
@@ -0,0 +1,102 @@
+FROM ubuntu:18.04
+
+ENV DEBIAN_FRONTEND noninteractive
+
+# Install tools and dependencies
+RUN apt-get update && \
+ apt-get -y install --no-install-recommends \
+ ca-certificates \
+ libsasl2-modules \
+ git \
+ automake \
+ autopoint \
+ autoconf \
+ texinfo \
+ libtool \
+ libltdl-dev \
+ libgpg-error-dev \
+ libidn11-dev \
+ libunistring-dev \
+ libglpk-dev \
+ libbluetooth-dev \
+ libextractor-dev \
+ libmicrohttpd-dev \
+ libgnutls28-dev \
+ libgcrypt20-dev \
+ libpq-dev \
+ libsqlite3-dev && \
+ apt-get clean all && \
+ apt-get -y autoremove && \
+ rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/*
+
+# Install GNUrl
+ENV GNURL_GIT_URL https://git.taler.net/gnurl.git
+ENV GNURL_GIT_BRANCH gnurl-7.57.0
+
+RUN git clone $GNURL_GIT_URL \
+ --branch $GNURL_GIT_BRANCH \
+ --depth=1 \
+ --quiet && \
+ cd /gnurl && \
+ autoreconf -i && \
+ ./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 && \
+ make install && \
+ cd - && \
+ rm -fr /gnurl
+
+# Install GNUnet
+ENV GNUNET_PREFIX /usr/local/gnunet
+ENV CFLAGS '-g -Wall -O0'
+
+COPY . /gnunet
+
+RUN cd /gnunet && \
+ ./bootstrap && \
+ ./configure \
+ --with-nssdir=/lib \
+ --prefix="$GNUNET_PREFIX" \
+ --enable-logging=verbose && \
+ make -j3 && \
+ make install && \
+ ldconfig && \
+ cd - && \
+ rm -fr /gnunet
+
+# Configure GNUnet
+COPY docker/gnunet.conf /etc/gnunet.conf
+COPY docker/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
+RUN chmod 755 /usr/local/bin/docker-entrypoint
+
+ENV LOCAL_PORT_RANGE='40001 40200'
+ENV PATH "$GNUNET_PREFIX/bin:/usr/local/bin:$PATH"
+
+ENTRYPOINT ["docker-entrypoint"]