summaryrefslogtreecommitdiff
path: root/sandcastle-ng/sandcastle-run
blob: 7b5ccd11ac92b3b21d64186332cb1e2e6d6c9a2a (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
#!/usr/bin/env bash

# Run the Taler container with all the right mounts and preset parameters

set -exou

SANDCASTLE_PORT_MERCHANT=16000
SANDCASTLE_PORT_EXCHANGE=16001
SANDCASTLE_PORT_BLOG=16002
SANDCASTLE_PORT_DONATIONS=16003
SANDCASTLE_PORT_SURVEY=16004
SANDCASTLE_PORT_LANDING=16005
SANDCASTLE_PORT_LIBEUFIN_BANK=16007
SANDCASTLE_PORT_BANK_SPA=16009

# Container-internal ports, should by synced with scripts/setup-sandcastle.sh
PORT_INTERNAL_EXCHANGE=8201
PORT_INTERNAL_MERCHANT=8301
PORT_INTERNAL_LIBEUFIN_BANK=8080
PORT_INTERNAL_LANDING=8501
PORT_INTERNAL_BLOG=8502
PORT_INTERNAL_DONATIONS=8503
PORT_INTERNAL_SURVEY=8504
PORT_INTERNAL_BANK_SPA=8505

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd $SCRIPT_DIR

existing_id=$(podman ps -q -a -f=name=taler-sandcastle)

if [[ ! -z "$existing_id" ]]; then
  echo "removing existing taler-sandcastle container $existing_id"
  podman rm "$existing_id"
fi

# We need to be careful with SELinux when using volume mounts, relabel!

SETUP_NAME=${SANDCASTLE_SETUP_NAME:-demo}
if [[ ! -z "${SANDCASTLE_OVERRIDE_NAME:-}" ]]; then
	OVERRIDES="-v $PWD/overrides/${SANDCASTLE_OVERRIDE_NAME}:/overrides:Z"
else
	OVERRIDES=""
fi

podman run \
  -d \
  -p=$SANDCASTLE_PORT_MERCHANT:$PORT_INTERNAL_MERCHANT \
  -p=$SANDCASTLE_PORT_EXCHANGE:$PORT_INTERNAL_EXCHANGE \
  -p=$SANDCASTLE_PORT_LIBEUFIN_BANK:$PORT_INTERNAL_LIBEUFIN_BANK \
  -p=$SANDCASTLE_PORT_LANDING:$PORT_INTERNAL_LANDING \
  -p=$SANDCASTLE_PORT_BLOG:$PORT_INTERNAL_BLOG \
  -p=$SANDCASTLE_PORT_DONATIONS:$PORT_INTERNAL_DONATIONS \
  -p=$SANDCASTLE_PORT_SURVEY:$PORT_INTERNAL_SURVEY \
  -p=$SANDCASTLE_PORT_BANK_SPA:$PORT_INTERNAL_BANK_SPA \
  --name taler-sandcastle \
  --systemd=always \
  --env "SANDCASTLE_OVERRIDE_NAME=${SANDCASTLE_OVERRIDE_NAME:=none}" \
  -v talerdata:/talerdata:Z \
  $OVERRIDES \
  -v $PWD/scripts:/scripts:Z \
  -v $PWD/scripts/$SETUP_NAME:/provision:Z \
  --entrypoint /sbin/init \
  "$@" \
  taler-base-all

exec podman exec -it taler-sandcastle journalctl -f