blob: 5d8c0f830a4df720d7620918b015d5d020708a2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/bin/bash
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
|