Allow vendor/libeufin tarball; add tarball args

This commit is contained in:
nocci 2025-12-12 11:27:01 +00:00
parent 30c6b94d8c
commit b438c6045e
5 changed files with 25 additions and 4 deletions

View file

@ -47,6 +47,7 @@ LIBEUFIN_REF=master
GNUNET_TARBALL_URL=https://git-www.taler.net/gnunet.git/snapshot/gnunet-512c42a713e52a2033928a302e445376d3bcb3a7.tar.gz
EXCHANGE_TARBALL_URL=
MERCHANT_TARBALL_URL=
LIBEUFIN_TARBALL_URL=
# Secrets path (host path mounted into /etc/taler/secrets)
EXCHANGE_SECRETS_PATH=./exchange/secrets

View file

@ -11,6 +11,7 @@ ARG LIBEUFIN_REF=master
ARG GNUNET_TARBALL_URL=
ARG EXCHANGE_TARBALL_URL=
ARG MERCHANT_TARBALL_URL=
ARG LIBEUFIN_TARBALL_URL=
RUN apt-get update && apt-get install -y \
build-essential git automake libtool pkg-config \
@ -109,8 +110,26 @@ RUN set -e; \
./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 && \
RUN set -e; \
LIBEUFIN_DIR=""; \
if ls /vendor/libeufin*.tar.gz >/dev/null 2>&1; then \
LOCAL_TARBALL="$(ls /vendor/libeufin*.tar.gz | head -1)"; \
echo "Using local LibEuFin tarball from ${LOCAL_TARBALL}"; \
mkdir -p /src && cd /src; \
cp "${LOCAL_TARBALL}" libeufin.tar.gz; \
tar xzf libeufin.tar.gz; \
LIBEUFIN_DIR="$(ls -d libeufin-* | head -1)"; \
elif [ -n "${LIBEUFIN_TARBALL_URL}" ]; then \
echo "Fetching LibEuFin tarball ${LIBEUFIN_TARBALL_URL}"; \
mkdir -p /src && cd /src; \
curl -L "${LIBEUFIN_TARBALL_URL}" -o libeufin.tar.gz; \
tar xzf libeufin.tar.gz; \
LIBEUFIN_DIR="$(ls -d libeufin-* | head -1)"; \
else \
git clone --depth 1 --branch "${LIBEUFIN_REF}" https://git.taler.net/libeufin.git /src/libeufin; \
LIBEUFIN_DIR="/src/libeufin"; \
fi; \
cd "${LIBEUFIN_DIR}" && ./bootstrap && \
./configure --prefix=/usr && make -j$(nproc) && make install
# Shared entrypoint for dbinit + service start

View file

@ -47,7 +47,7 @@ Container-Stack für GNU Taler (Exchange, Merchant, LibEuFin Bank) mit optionale
- Bei eigener CA `EXCHANGE_CURL_OPTS="-k"` setzen, wenn der Offline-Job `/keys` über HTTPS abfragt.
- Nach Passwortänderungen in `.env` ist kein manuelles SQL-Rendering nötig; das Init-Skript liest sie beim Start.
- Release-Refs/Tarballs: Tags/Commits unter `https://git.taler.net/{gnunet,exchange,merchant,libeufin}.git/` ansehen (Tarballs via `.../snapshot/<tag>.tar.gz`) und `*_REF`/`GNUNET_TARBALL_URL` entsprechend setzen.
- Offline-Tarballs: Lege Tarballs unter `vendor/` ab (`gnunet-*.tar.gz`, `exchange-*.tar.gz`, `merchant-*.tar.gz`); bei unvollständigem Tarball fällt der Build auf Git zurück.
- Offline-Tarballs: Lege Tarballs unter `vendor/` ab (`gnunet-*.tar.gz`, `exchange-*.tar.gz`, `merchant-*.tar.gz`, `libeufin-*.tar.gz`); bei unvollständigem Tarball fällt der Build auf Git zurück.
## Nützliche Kommandos
- Logs: `docker compose logs -f exchange` (oder bank/merchant/caddy/wordpress).

View file

@ -47,7 +47,7 @@ Container stack for GNU Taler (Exchange, Merchant, LibEuFin Bank) with optional
- With custom CAs, set `EXCHANGE_CURL_OPTS="-k"` if the offline job needs to curl `/keys` over HTTPS.
- After changing DB passwords in `.env`, no manual SQL rendering is needed—the init script reads them at container start.
- Release refs/tarballs: Browse tags/commits at `https://git.taler.net/{gnunet,exchange,merchant,libeufin}.git/` (Tarballs via `.../snapshot/<tag>.tar.gz`) and set `*_REF`/`GNUNET_TARBALL_URL` accordingly.
- Offline tarball drop-in: place tarballs under `vendor/` (`gnunet-*.tar.gz`, `exchange-*.tar.gz`, `merchant-*.tar.gz`); the build picks the first match and falls back to git if incomplete.
- Offline tarball drop-in: place tarballs under `vendor/` (`gnunet-*.tar.gz`, `exchange-*.tar.gz`, `merchant-*.tar.gz`, `libeufin-*.tar.gz`); the build picks the first match and falls back to git if incomplete.
## Useful commands
- Logs: `docker compose logs -f exchange` (or bank/merchant/caddy/wordpress).

View file

@ -21,6 +21,7 @@ docker build \
--build-arg MERCHANT_REF="${MERCHANT_REF:-master}" \
--build-arg MERCHANT_TARBALL_URL="${MERCHANT_TARBALL_URL:-}" \
--build-arg LIBEUFIN_REF="${LIBEUFIN_REF:-master}" \
--build-arg LIBEUFIN_TARBALL_URL="${LIBEUFIN_TARBALL_URL:-}" \
-t "${IMAGE_TAG}" .
echo "Built image ${IMAGE_TAG}"