#!/bin/bash set -o pipefail set -eu export JAVA_OPTS="-Xss4m -XX:MaxJavaStackTraceDepth=1073741823" # helps taler-config export LD_LIBRARY_PATH=/usr/local/lib mkdir -p /etc/taler/ TALERCONF=/etc/taler/taler.conf cp /config/libeufin-bank/taler.conf $TALERCONF CURRENCY=$(taler-config -c /config/deployment.conf -s taler-deployment -o currency) EXCHANGE_IBAN=DE159593 DB_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o db-password` sed -i "s;__DB_PASSWORD__;${DB_PASSWORD};" $TALERCONF sed -i "s/__CURRENCY__/${CURRENCY}/" $TALERCONF # takes port and service name is_serving() { echo Is $1 serving? for n in `seq 1 80` do echo "." sleep 0.1 OK=1 wget $1 -o /dev/null -O /dev/null >/dev/null && break OK=0 done if [ 1 != $OK ] then echo "$2 unreachable." exit 1 fi echo $2 reachable. } BANK_SIGNUP_BONUS=$(taler-config -c /config/deployment.conf -s taler-deployment -o bank-signup-bonus) BANK_ALLOW_REGISTRATIONS=$(taler-config -c /config/deployment.conf -s taler-deployment -o bank-allow-registrations) case "${1:-}" in shell) echo "Starting interactive shell" exec bash ;; *) ;; esac echo "running libeufin-bank dbinit" libeufin-bank dbinit echo "running libeufin-bank serve in background" libeufin-bank serve & is_serving http://localhost:15000/config libeufin-bank EXCHANGE_IBAN=DE159593 BLOG_IBAN=DE940993 GNUNET_IBAN=DE463312 DEFAULT_IBAN=DE474361 TOR_IBAN=DE358263 TALER_IBAN=DE102893 SURVEY_IBAN=DE731371 EXCHANGE_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o exchange-bank-password` POS_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o pos-bank-password` BLOG_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o blog-bank-password` GNUNET_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o gnunet-bank-password` DEFAULT_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o default-bank-password` TOR_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o tor-bank-password` TALER_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o taler-bank-password` SURVEY_SANDBOX_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o survey-bank-password` req=$(jq -n ' { username: "exchange", password: $PW, name: "exchange", is_public: true, is_taler_exchange: true, internal_payto_uri: $PAYTO, }' \ --arg PW $EXCHANGE_SANDBOX_PASSWORD \ --arg PAYTO "payto://iban/$EXCHANGE_IBAN" ) echo $req curl -v -X POST -H "Content-Type: application/json" --data "$req" http://localhost:15000/accounts # starting the SPA BLOG_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o blog-url` DONATIONS_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o donations-url` SURVEY_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o survey-url` LANDING_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o landing-url` BANK_WEBUI_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-url` BANK_BACKEND_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-backend-url` sed -i "s;__LANDING_URL__;${LANDING_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js sed -i "s;__BLOG_URL__;${BLOG_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js sed -i "s;__DONATIONS_URL__;${DONATIONS_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js sed -i "s;__SURVEY_URL__;${SURVEY_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js sed -i "s;__BANK_WEBUI_URL__;${BANK_WEBUI_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js sed -i "s;__BANK_BACKEND_URL__;${BANK_BACKEND_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js # Serves BANK_WEBUI_URL nginx -c /nginx.conf 2>&1 | rotatelogs -e /logs/bank-ui-%Y-%m-%d.log 86400 & echo "Launched bank services" # -n makes 'wait' return as soon as one of the background # processes exits. That triggers then the 'restart: always' # policy set in the compose file. wait -n