#!/bin/bash # # Generate Taler ToS (Terms of Service) # # ToS generator is picky about the path that it is being run from cd $TOS_PATH TOS_AUTHOR="Taler Systems SA" TOS_COPYRIGHT="Taler Systems SA" TOS_PATH=/usr/local/share/taler/terms TOS_LANGUAGE=en TOS_OUTPUT=/usr/local/share/taler/terms/ TOS_PAPER=a4 TOS_TITLE="GNU Taler terms of service" taler-terms-generator -i exchange-tos-v0 -a $TOS_AUTHOR -C $TOS_COPYRIGHT -p $TOS_PAPER -o $TOS_OUTPUT taler-terms-generator -i exchange-pp-v0 -a $TOS_AUTHOR -C $TOS_COPYRIGHT -p $TOS_PAPER -o $TOS_OUTPUT cd / source /scripts/config.sh while ! pg_isready -h talerdb -d taler; do echo DB not ready yet. sleep 2 done echo Now DB is ready. socat TCP-LISTEN:5555,fork,reuseaddr TCP:localhost:80 & echo -n "Init database... " taler-exchange-dbinit -L WARNING -c $TALERCONF echo DONE echo -n "Starting EDDSA helper..." taler-exchange-secmod-eddsa -L WARNING \ -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-secmod-eddsa-%Y-%m-%d.log 86400 & echo DONE echo -n "Starting RSA helper..." taler-exchange-secmod-rsa -L WARNING \ -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-secmod-rsa-%Y-%m-%d.log 86400 & echo DONE echo -n "Starting CS helper..." taler-exchange-secmod-cs -L WARNING \ -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-secmod-cs-%Y-%m-%d.log 86400 & echo DONE echo -n "Launching exchange HTTPD..." taler-exchange-httpd -L WARNING -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-httpd-%Y-%m-%d.log 86400 & for n in `seq 1 50` do echo "." sleep 0.3 OK=1 wget $EXCHANGE_URL -t 1 -o /dev/null -O /dev/null >/dev/null && break OK=0 done if [ 1 != $OK ] then echo "ERROR: failed to launch Exchange" exit 1 fi echo DONE echo -n "Launching wirewatch..." taler-exchange-wirewatch -L WARNING --longpoll-timeout=2s -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-wirewatch-%Y-%m-%d.log 86400 & echo DONE echo -n "Launching transfer service..." taler-exchange-transfer -L WARNING -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-transfer-%Y-%m-%d.log 86400 & echo DONE echo -n "Launching aggregator service..." taler-exchange-aggregator -L WARNING -c $TALERCONF 2>&1 | \ rotatelogs -e /logs/taler-exchange-aggregator-%Y-%m-%d.log 86400 & echo DONE echo echo -n "Setup keys and fees with taler-exchange-offline..." taler-exchange-offline -L WARNING -c $TALERCONF \ download sign \ enable-account "payto://iban/SANDBOXX/${EXCHANGE_IBAN}?receiver-name=Exchange+Company" \ wire-fee now iban ${CURRENCY}:0.01 ${CURRENCY}:0.01 \ global-fee now ${CURRENCY}:0 ${CURRENCY}:0 ${CURRENCY}:0 1h 1year 5 \ upload 2>&1 echo DONE echo -n "Requesting exchange's /keys..." curl --max-time 4 -s "${EXCHANGE_URL}keys" echo DONE # Spawn a process that will fail after an hour, # to facilitate restarting every hour. ( sleep 3600 && exit 1) & # Exit once a single process fails. # Then, docker-compose will restart the whole container. wait -n