koopa-admin-log/scripts/taler-merchant
Hernâni Marques 54ebdb7d7a
configs: rename dirs to match live koopa containers
Reflect host naming in git paths:
- configs/taler-hacktivism/ (was taler-merchant) → container taler-hacktivism
- configs/taler-hacktivism-bank/ (was taler-bank) → container …-bank,
  image taler-hacktivism-banking:live
- configs/taler-exchange-ansible/ already matches …-exchange-ansible
- configs/taler-exchange/ = conf inside that exchange container

Update LIVE.md, README, ports/refs. No secret values.
2026-07-10 16:02:52 +02:00
..
certbot_renew.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
check_merchant-health.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
ensure_merchant_helpers.sh merchant: landing-stats + helpers; demo instance note 2026-07-09 17:58:03 +02:00
install_dual_terms.sh configs: rename dirs to match live koopa containers 2026-07-10 16:02:52 +02:00
install_swiss_privacy.sh merchant: Swiss FADP privacy (PRIVACY_ETAG; was not configured) 2026-07-09 21:27:13 +02:00
landing-stats-merchant.sh merchant: stats fail-closed; full PATH (cron wiped zeros) 2026-07-09 20:40:57 +02:00
README.md merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
setup_credit_facade.sh merchant: landing-stats + helpers; demo instance note 2026-07-09 17:58:03 +02:00
start_base_services_for_taler.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
start_merchant.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
stats--merchant-payments.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
taler-hacktivism-email-helper.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
taler-hacktivism-sms-helper-wrapper.sh merchant: start/health + certbot_renew (container nginx TLS :8081, ACME :8082) 2026-06-29 16:11:55 +02:00
taler-merchant-wirewatch-supervise.sh merchant: landing-stats + helpers; demo instance note 2026-07-09 17:58:03 +02:00

taler-merchant scripts

Mirrored from podman taler-hacktivism.

File Location in container User
start_base_services_for_taler.sh /root/ root
start_merchant.sh /usr/local/bin/ taler-merchant-httpd
ensure_merchant_helpers.sh /usr/local/bin/ root → taler-merchant-httpd
setup_credit_facade.sh host root (/root/koopa-admin-log/…) root on koopa
check_merchant-health.sh /usr/local/bin/ any
certbot_renew.sh /root/scripts/ root (bg from base)
stats--merchant-payments.sh /usr/local/bin/ ops
taler-hacktivism-email-helper.sh /usr/local/bin/ merchant (SMTP password via env in git mirror)
taler-hacktivism-sms-helper-wrapper.sh /usr/local/bin/ merchant

Settlement (wired / transfers)

Automatic import needs:

  1. credit_facade_url = …/accounts/$BANK_USER/taler-revenue/ (not taler-wire-gateway/)
  2. Bearer bank token in credit_facade_credentials (Basic fails on history)
  3. Running taler-merchant-wirewatch + taler-merchant-depositcheck
# on koopa as root
./setup_credit_facade.sh
./ensure_merchant_helpers.sh   # inside container or via start_merchant

SMS backends are symlinks into /var/taler-src/... (not copied).

Usage

# root in container
./start_base_services_for_taler.sh
# then as taler-merchant-httpd in /usr/local/bin:
./start_merchant.sh --restart
# nginx (TLS frontend) if not already up — root:
# /etc/init.d/nginx start
./check_merchant-health.sh

check_merchant-health.sh

Check Severity
socket + listener + httpd + nginx FAIL
merchant /config (unix sock or :9010) FAIL
each enabled [merchant-exchange-*]: GET …/keys FAIL
MASTER_KEY matches master_public_key in /keys FAIL
helpers (webhook, exchangekeyupdate, depositcheck) WARN

Disabled exchanges (DISABLED = YES) are skipped.
If public exchange URL is unreachable from the container, falls back to http://127.0.0.1:9011/keys (and pasta host IPs).