Compare commits
2 commits
a1c99fbdac
...
7acb97cd13
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7acb97cd13 | ||
|
|
8ffa0c9561 |
5 changed files with 68 additions and 3 deletions
|
|
@ -44,7 +44,7 @@ GNUNET_REF=v0.26.1
|
||||||
EXCHANGE_REF=master
|
EXCHANGE_REF=master
|
||||||
MERCHANT_REF=master
|
MERCHANT_REF=master
|
||||||
LIBEUFIN_REF=master
|
LIBEUFIN_REF=master
|
||||||
GNUNET_TARBALL_URL=https://git-www.taler.net/gnunet.git/snapshot/gnunet-512c42a713e52a2033928a302e445376d3bcb3a7.tar.gz
|
GNUNET_TARBALL_URL=
|
||||||
EXCHANGE_TARBALL_URL=
|
EXCHANGE_TARBALL_URL=
|
||||||
MERCHANT_TARBALL_URL=
|
MERCHANT_TARBALL_URL=
|
||||||
LIBEUFIN_TARBALL_URL=
|
LIBEUFIN_TARBALL_URL=
|
||||||
|
|
|
||||||
24
Dockerfile
24
Dockerfile
|
|
@ -92,7 +92,17 @@ RUN set -e; \
|
||||||
if [ -f "${EXCHANGE_DIR}/configure" ]; then \
|
if [ -f "${EXCHANGE_DIR}/configure" ]; then \
|
||||||
echo "Using existing configure for Exchange tarball"; \
|
echo "Using existing configure for Exchange tarball"; \
|
||||||
else \
|
else \
|
||||||
cd "${EXCHANGE_DIR}" && autoreconf -fi; \
|
set +e; \
|
||||||
|
(cd "${EXCHANGE_DIR}" && autoreconf -fi); \
|
||||||
|
rc=$?; \
|
||||||
|
set -e; \
|
||||||
|
if [ $rc -ne 0 ]; then \
|
||||||
|
echo "Autoreconf failed for Exchange tarball; falling back to git clone ${EXCHANGE_REF}"; \
|
||||||
|
rm -rf "${EXCHANGE_DIR}"; \
|
||||||
|
git clone --depth 1 --branch "${EXCHANGE_REF}" https://git.taler.net/exchange.git /src/exchange; \
|
||||||
|
EXCHANGE_DIR="/src/exchange"; \
|
||||||
|
cd "${EXCHANGE_DIR}" && env GNUNET_PREFIX=/usr ./bootstrap; \
|
||||||
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
else \
|
else \
|
||||||
if [ ! -f "${EXCHANGE_DIR}/configure" ]; then \
|
if [ ! -f "${EXCHANGE_DIR}/configure" ]; then \
|
||||||
|
|
@ -127,7 +137,17 @@ RUN set -e; \
|
||||||
if [ -f "${MERCHANT_DIR}/configure" ]; then \
|
if [ -f "${MERCHANT_DIR}/configure" ]; then \
|
||||||
echo "Using existing configure for Merchant tarball"; \
|
echo "Using existing configure for Merchant tarball"; \
|
||||||
else \
|
else \
|
||||||
cd "${MERCHANT_DIR}" && autoreconf -fi; \
|
set +e; \
|
||||||
|
(cd "${MERCHANT_DIR}" && autoreconf -fi); \
|
||||||
|
rc=$?; \
|
||||||
|
set -e; \
|
||||||
|
if [ $rc -ne 0 ]; then \
|
||||||
|
echo "Autoreconf failed for Merchant tarball; falling back to git clone ${MERCHANT_REF}"; \
|
||||||
|
rm -rf "${MERCHANT_DIR}"; \
|
||||||
|
git clone --depth 1 --branch "${MERCHANT_REF}" https://git.taler.net/merchant.git /src/merchant; \
|
||||||
|
MERCHANT_DIR="/src/merchant"; \
|
||||||
|
cd "${MERCHANT_DIR}" && env GNUNET_PREFIX=/usr ./bootstrap; \
|
||||||
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
else \
|
else \
|
||||||
if [ ! -f "${MERCHANT_DIR}/configure" ]; then \
|
if [ ! -f "${MERCHANT_DIR}/configure" ]; then \
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ Container-Stack für GNU Taler (Exchange, Merchant, LibEuFin Bank) mit optionale
|
||||||
- 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`, `libeufin-*.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.
|
||||||
|
- Release-Tarballs laden: `./scripts/fetch-tarballs.sh` (nutzt aktuelle Stable-Versionen; per `*_VERSION` oder `*_TARBALL_URL` überschreibbar).
|
||||||
|
|
||||||
## 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).
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ Container stack for GNU Taler (Exchange, Merchant, LibEuFin Bank) with optional
|
||||||
- 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`, `libeufin-*.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.
|
||||||
|
- Fetch release tarballs: `./scripts/fetch-tarballs.sh` (uses current stable versions; override with `*_VERSION` or `*_TARBALL_URL` env vars).
|
||||||
|
|
||||||
## 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).
|
||||||
|
|
|
||||||
43
scripts/fetch-tarballs.sh
Executable file
43
scripts/fetch-tarballs.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Downloads release tarballs into ./vendor (skips existing files).
|
||||||
|
# Defaults to current stable versions; override via env:
|
||||||
|
# GNUNET_VERSION, EXCHANGE_VERSION, MERCHANT_VERSION, LIBEUFIN_VERSION
|
||||||
|
# GNUNET_TARBALL_URL, EXCHANGE_TARBALL_URL, MERCHANT_TARBALL_URL, LIBEUFIN_TARBALL_URL
|
||||||
|
|
||||||
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
|
VENDOR_DIR="${ROOT_DIR}/vendor"
|
||||||
|
mkdir -p "${VENDOR_DIR}"
|
||||||
|
|
||||||
|
GNUNET_VERSION="${GNUNET_VERSION:-0.26.1}"
|
||||||
|
EXCHANGE_VERSION="${EXCHANGE_VERSION:-1.2.2}"
|
||||||
|
MERCHANT_VERSION="${MERCHANT_VERSION:-1.1.6}"
|
||||||
|
LIBEUFIN_VERSION="${LIBEUFIN_VERSION:-1.2.3}"
|
||||||
|
|
||||||
|
GNUNET_URL="${GNUNET_TARBALL_URL:-https://ftp.fau.de/gnu/taler/gnunet-debian-${GNUNET_VERSION}.tar.gz}"
|
||||||
|
EXCHANGE_URL="${EXCHANGE_TARBALL_URL:-https://ftp.fau.de/gnu/taler/exchange-${EXCHANGE_VERSION}.tar.gz}"
|
||||||
|
MERCHANT_URL="${MERCHANT_TARBALL_URL:-https://ftp.fau.de/gnu/taler/merchant-${MERCHANT_VERSION}.tar.gz}"
|
||||||
|
LIBEUFIN_URL="${LIBEUFIN_TARBALL_URL:-https://ftp.fau.de/gnu/taler/libeufin-${LIBEUFIN_VERSION}.tar.gz}"
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
local url="$1"
|
||||||
|
local dest="${VENDOR_DIR}/$(basename "$url")"
|
||||||
|
local name
|
||||||
|
name="$(basename "$dest")"
|
||||||
|
|
||||||
|
if [[ -f "$dest" ]]; then
|
||||||
|
echo "✔ ${name} already present"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "→ Downloading ${name}"
|
||||||
|
curl -fL "$url" -o "$dest"
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch "$GNUNET_URL"
|
||||||
|
fetch "$EXCHANGE_URL"
|
||||||
|
fetch "$MERCHANT_URL"
|
||||||
|
fetch "$LIBEUFIN_URL"
|
||||||
|
|
||||||
|
echo "Done. Tarballs are in ${VENDOR_DIR}"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue