summaryrefslogtreecommitdiff
path: root/docker/hybrid/images/merchant
diff options
context:
space:
mode:
Diffstat (limited to 'docker/hybrid/images/merchant')
-rw-r--r--docker/hybrid/images/merchant/Dockerfile6
-rw-r--r--docker/hybrid/images/merchant/startup.sh32
-rw-r--r--docker/hybrid/images/merchant/taler.conf24
3 files changed, 62 insertions, 0 deletions
diff --git a/docker/hybrid/images/merchant/Dockerfile b/docker/hybrid/images/merchant/Dockerfile
new file mode 100644
index 0000000..4f744a5
--- /dev/null
+++ b/docker/hybrid/images/merchant/Dockerfile
@@ -0,0 +1,6 @@
+FROM taler_local/taler_base
+
+COPY taler.conf /config/taler.conf
+COPY startup.sh /
+RUN chmod +x /startup.sh
+ENTRYPOINT /startup.sh
diff --git a/docker/hybrid/images/merchant/startup.sh b/docker/hybrid/images/merchant/startup.sh
new file mode 100644
index 0000000..eade50f
--- /dev/null
+++ b/docker/hybrid/images/merchant/startup.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+set -eu
+export LD_LIBRARY_PATH=/usr/local/lib
+
+while ! pg_isready -h talerdb -d taler; do
+ echo DB not ready yet.
+ sleep 2
+done
+echo Now DB is ready.
+
+for n in `seq 1 80`
+ do
+ echo "."
+ sleep 0.1
+ OK=1
+ wget http://exchange/ -o /dev/null -O /dev/null >/dev/null && break
+ OK=0
+ done
+ if [ 1 != $OK ]
+ then
+ echo "Exchange unreachable."
+ fi
+echo Echange reachable.
+
+EXCHANGE_MASTER_PUB=$(curl -s http://exchange/keys | jq -r .master_public_key)
+echo Found Exchange Pub: $EXCHANGE_MASTER_PUB
+sed -i 's/\${EXCHANGE_URL}/http:\/\/exchange\//' /config/taler.conf
+sed -i "s/\${EXCHANGE_PUB}/${EXCHANGE_MASTER_PUB}/" /config/taler.conf
+sed -i 's/\${CURRENCY}/EUR/' /config/taler.conf
+taler-merchant-dbinit -c /config/taler.conf --reset
+taler-merchant-httpd -c /config/taler.conf
diff --git a/docker/hybrid/images/merchant/taler.conf b/docker/hybrid/images/merchant/taler.conf
new file mode 100644
index 0000000..cd50bba
--- /dev/null
+++ b/docker/hybrid/images/merchant/taler.conf
@@ -0,0 +1,24 @@
+[taler]
+currency = ${CURRENCY}
+
+[paths]
+TALER_DATA_HOME = /data
+
+[merchant-exchange-${CURRENCY}]
+currency = ${CURRENCY}
+exchange_base_url = http://exchange/
+master_key = ${EXCHANGE_PUB}
+
+[merchantdb-postgres]
+config = postgres://talerdb/taler
+
+[merchant]
+default_max_deposit_fee = ${CURRENCY}:0.05
+default_max_wire_fee = ${CURRENCY}:0.01
+wire_transfer_delay = 0 s
+port = 80
+serve = tcp
+
+[merchant-account-merchant]
+wire_file_mode = 770
+wire_response = ${TALER_DATA_HOME}/merchant/wire/merchant.json