Allow vendor/libeufin tarball; add tarball args
This commit is contained in:
parent
30c6b94d8c
commit
b438c6045e
5 changed files with 25 additions and 4 deletions
|
|
@ -47,6 +47,7 @@ LIBEUFIN_REF=master
|
||||||
GNUNET_TARBALL_URL=https://git-www.taler.net/gnunet.git/snapshot/gnunet-512c42a713e52a2033928a302e445376d3bcb3a7.tar.gz
|
GNUNET_TARBALL_URL=https://git-www.taler.net/gnunet.git/snapshot/gnunet-512c42a713e52a2033928a302e445376d3bcb3a7.tar.gz
|
||||||
EXCHANGE_TARBALL_URL=
|
EXCHANGE_TARBALL_URL=
|
||||||
MERCHANT_TARBALL_URL=
|
MERCHANT_TARBALL_URL=
|
||||||
|
LIBEUFIN_TARBALL_URL=
|
||||||
|
|
||||||
# Secrets path (host path mounted into /etc/taler/secrets)
|
# Secrets path (host path mounted into /etc/taler/secrets)
|
||||||
EXCHANGE_SECRETS_PATH=./exchange/secrets
|
EXCHANGE_SECRETS_PATH=./exchange/secrets
|
||||||
|
|
|
||||||
23
Dockerfile
23
Dockerfile
|
|
@ -11,6 +11,7 @@ ARG LIBEUFIN_REF=master
|
||||||
ARG GNUNET_TARBALL_URL=
|
ARG GNUNET_TARBALL_URL=
|
||||||
ARG EXCHANGE_TARBALL_URL=
|
ARG EXCHANGE_TARBALL_URL=
|
||||||
ARG MERCHANT_TARBALL_URL=
|
ARG MERCHANT_TARBALL_URL=
|
||||||
|
ARG LIBEUFIN_TARBALL_URL=
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
build-essential git automake libtool pkg-config \
|
build-essential git automake libtool pkg-config \
|
||||||
|
|
@ -109,8 +110,26 @@ RUN set -e; \
|
||||||
./configure --prefix=/usr && make -j$(nproc) && make install
|
./configure --prefix=/usr && make -j$(nproc) && make install
|
||||||
|
|
||||||
# LibEuFin (Bank)
|
# LibEuFin (Bank)
|
||||||
RUN git clone --depth 1 --branch "${LIBEUFIN_REF}" https://git.taler.net/libeufin.git /src/libeufin && \
|
RUN set -e; \
|
||||||
cd /src/libeufin && ./bootstrap && \
|
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
|
./configure --prefix=/usr && make -j$(nproc) && make install
|
||||||
|
|
||||||
# Shared entrypoint for dbinit + service start
|
# Shared entrypoint for dbinit + service start
|
||||||
|
|
|
||||||
|
|
@ -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.
|
- 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.
|
- 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.
|
- 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
|
## Nützliche Kommandos
|
||||||
- Logs: `docker compose logs -f exchange` (oder bank/merchant/caddy/wordpress).
|
- Logs: `docker compose logs -f exchange` (oder bank/merchant/caddy/wordpress).
|
||||||
|
|
|
||||||
|
|
@ -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.
|
- 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.
|
- 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.
|
- 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
|
## Useful commands
|
||||||
- Logs: `docker compose logs -f exchange` (or bank/merchant/caddy/wordpress).
|
- Logs: `docker compose logs -f exchange` (or bank/merchant/caddy/wordpress).
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ docker build \
|
||||||
--build-arg MERCHANT_REF="${MERCHANT_REF:-master}" \
|
--build-arg MERCHANT_REF="${MERCHANT_REF:-master}" \
|
||||||
--build-arg MERCHANT_TARBALL_URL="${MERCHANT_TARBALL_URL:-}" \
|
--build-arg MERCHANT_TARBALL_URL="${MERCHANT_TARBALL_URL:-}" \
|
||||||
--build-arg LIBEUFIN_REF="${LIBEUFIN_REF:-master}" \
|
--build-arg LIBEUFIN_REF="${LIBEUFIN_REF:-master}" \
|
||||||
|
--build-arg LIBEUFIN_TARBALL_URL="${LIBEUFIN_TARBALL_URL:-}" \
|
||||||
-t "${IMAGE_TAG}" .
|
-t "${IMAGE_TAG}" .
|
||||||
|
|
||||||
echo "Built image ${IMAGE_TAG}"
|
echo "Built image ${IMAGE_TAG}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue