50 lines
2.1 KiB
Docker
50 lines
2.1 KiB
Docker
FROM debian:sid
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Pin refs (branch/tag/commit) for shallow clones; adjust as needed.
|
|
ARG GNUNET_REF=v0.26.1
|
|
ARG EXCHANGE_REF=master
|
|
ARG MERCHANT_REF=master
|
|
ARG LIBEUFIN_REF=master
|
|
# Optional tarball URLs (when set, git clone is skipped)
|
|
ARG GNUNET_TARBALL_URL=
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential git automake libtool pkg-config \
|
|
libgnutls28-dev libjansson-dev libsqlite3-dev \
|
|
postgresql-client curl gnupg gettext-base \
|
|
openjdk-17-jdk maven \
|
|
meson ninja-build \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# GNUnet (falls nicht schon systemweit neu genug)
|
|
RUN if [ -n "${GNUNET_TARBALL_URL}" ]; then \
|
|
mkdir -p /src && cd /src && \
|
|
curl -L "${GNUNET_TARBALL_URL}" -o gnunet.tar.gz && \
|
|
tar xzf gnunet.tar.gz && \
|
|
cd gnunet-* && ./bootstrap && \
|
|
./configure --prefix=/usr && make -j$(nproc) && make install; \
|
|
else \
|
|
git clone --depth 1 --branch "${GNUNET_REF}" https://git.taler.net/gnunet.git /src/gnunet && \
|
|
cd /src/gnunet && ./bootstrap && \
|
|
./configure --prefix=/usr && make -j$(nproc) && make install; \
|
|
fi
|
|
|
|
# Taler Exchange + Merchant
|
|
RUN git clone --depth 1 --branch "${EXCHANGE_REF}" https://git.taler.net/exchange.git /src/exchange && \
|
|
cd /src/exchange && ./bootstrap && \
|
|
./configure --prefix=/usr && make -j$(nproc) && make install && \
|
|
git clone --depth 1 --branch "${MERCHANT_REF}" https://git.taler.net/merchant.git /src/merchant && \
|
|
cd /src/merchant && ./bootstrap && \
|
|
./configure --prefix=/usr && make -j$(nproc) && make install
|
|
|
|
# LibEuFin (Bank)
|
|
RUN git clone --depth 1 --branch "${LIBEUFIN_REF}" https://git.taler.net/libeufin.git /src/libeufin && \
|
|
cd /src/libeufin && ./bootstrap && \
|
|
./configure --prefix=/usr && make -j$(nproc) && make install
|
|
|
|
# Shared entrypoint for dbinit + service start
|
|
COPY entrypoints/with-dbinit.sh /usr/local/bin/with-dbinit.sh
|
|
COPY scripts/enable-exchange-account.sh /usr/local/bin/enable-exchange-account.sh
|
|
RUN chmod +x /usr/local/bin/with-dbinit.sh /usr/local/bin/enable-exchange-account.sh
|