blob: de087df7158e509c5be5ea184d44cd5554a34936 (
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# FROM ubuntu:20.04
FROM debian:stable
ENV DEBIAN_FRONTEND noninteractive
# Install tools and dependencies
RUN apt-get update && \
apt-get upgrade && \
apt-get -y install --no-install-recommends \
apt-utils
# Install tools and dependencies
RUN apt-get update && \
apt-get upgrade && \
apt-get -y install --no-install-recommends \
ca-certificates \
iptables \
python3 \
python3-pip \
iproute2 \
net-tools \
libsasl2-modules \
git \
automake \
autopoint \
autoconf \
recutils \
make \
libssl-dev \
ninja-build \
meson \
curl \
libcurl4-gnutls-dev \
libsodium-dev \
libsodium23 \
libjansson-dev \
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 \
wget
RUN apt-get clean all && \
apt-get -y autoremove && \
rm -rf \
/var/lib/apt/lists/* \
/tmp/*
# Install jose
RUN wget -O /tmp/jose.tar.gz https://github.com/latchset/jose/archive/refs/tags/v11.tar.gz
RUN cd /tmp && \
tar xvf jose.tar.gz && \
cd jose-11 && \
mkdir build && \
cd build && \
meson .. --prefix=/usr/local/lib && \
ninja && \
ninja install && \
cd / && \
rm -rf /tmp/jose-11/*
# Intall Python Packages for Documentation
RUN pip3 install \
docutils==0.17.1 \
sphinx \
sphinx-rtd-theme
COPY . /tmp/gnunet
# ENV VERSION=0.18.1
# ENV HASH=719fc54734ee54c36ff619a6aa2d659655db012c40f9210c0859459c435fce1a
# RUN wget "ftpmirror.gnu.org/gnunet/gnunet-$VERSION.tar.gz" -P /tmp
# Check the gnunet download integrity
# RUN echo "$HASH /tmp/gnunet-$VERSION.tar.gz" | sha256sum --check --status
# Extract gnunet
# RUN mkdir /tmp/gnunet && tar xf "/tmp/gnunet-$VERSION.tar.gz" -C /tmp/gnunet --strip-components=1
# Install gnunet
# ENV GNUNET_PREFIX=/usr/local/lib
# ENV CFLAGS '-g -Wall -O0'
#
# RUN cd /tmp/gnunet && \
# ./configure \
# --prefix="$GNUNET_PREFIX/.." \
# --enable-logging=verbose && \
# make -j && \
# make install && \
# ldconfig
RUN cd /tmp/gnunet && \
./bootstrap && \
./configure \
--prefix="$GNUNET_PREFIX/.." \
--enable-logging=verbose && \
make -j && \
make install && \
ldconfig
# Configure GNUnet
RUN cp /tmp/gnunet/contrib/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"]
|