-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdocker-compose-build.yml
143 lines (130 loc) · 4.62 KB
/
docker-compose-build.yml
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
version: "3.2"
# Starts ebics-service with a libeufin as a banking backend
services:
postgres:
container_name: pg
image: postgres:11
restart: always
environment:
- POSTGRES_USER=pgrootuser
- POSTGRES_PASSWORD=pgrootpassword
- POSTGRES_DB=libeufindb
- POSTGRES_NON_ROOT_USER=pguser
- POSTGRES_NON_ROOT_PASSWORD=pgpassword
# - PGDATA="/var/lib/postgresql/data/pgdata"
# ports:
# - "5432:5432"
libeufin:
container_name: libeufin
# image: e36io/libeufin:hyperfridge
# local dev:
build:
context: ../LibEuFin
depends_on:
- postgres
environment:
- LIBEUFIN_SANDBOX_URL=http://localhost:5016/
- LIBEUFIN_SANDBOX_DB_CONNECTION=jdbc:postgresql://postgres:5432/libeufindb?user=pgrootuser&password=pgrootpassword
- LIBEUFIN_NEXUS_DB_CONNECTION=jdbc:postgresql://postgres:5432/libeufindb?user=pgrootuser&password=pgrootpassword
- LIBEUFIN_NEXUS_URL=http://localhost:5000/
- LIBEUFIN_NEXUS_USERNAME=foo
- LIBEUFIN_NEXUS_PASSWORD=superpassword
- LIBEUFIN_SANDBOX_ADMIN_PASSWORD=superpassword
- LIBEUFIN_SANDBOX_USERNAME=admin
- LIBEUFIN_SANDBOX_PASSWORD=superpassword
- EBICS_BASE_URL=http://localhost:5016/ebicsweb
- POSTGRES_USER=pgrootuser
- POSTGRES_PASSWORD=pgrootpassword
- POSTGRES_HOST=postgres
- POSTGRES_DB=libeufindb
- DANGEROUSLY_DISABLE_HOST_CHECK=true
# not used because they are default values
# - CLIENT_PR_KEY_OUT=/app/keys/client_private_key.pem
# - CLIENT_PUB_KEY_OUT=/app/keys/client_public_key.pem
# - BANK_PUB_KEY_OUT=/app/keys/bank_public_key.pem
command: /app/scripts/init_libeufin_sandbox.sh
tty: true
stdin_open: true # without this node doesn't start; https://stackoverflow.com/questions/61857267/how-to-make-yarn-start-work-inside-docker-image-with-react-scripts-3-4-and-babel
ports:
- "5016:5016" # sandbox
- "5001:5000" # nexus
- "3000:3000" # ui - login: foo/superpassword
expose:
- 5016
- 3000
- 5001
volumes:
- ./scripts:/app/scripts:rw
- ./keys:/app/keys:rw
- ./trace:/app/trace:rw
ebics-service:
# image: e36io/ebics-service:hyperfridge
container_name: ebics
build:
context: .
depends_on:
- libeufin
environment:
- spring_profiles_active=sandbox
- LIBEUFIN_SANDBOX_URL=http://libeufin:5016 # overwrite localhost in configs
- LIBEUFIN_NEXUS_URL=http://libeufin:5000
- LIBEUFIN_SANDBOX_ADMIN_PASSWORD=superpassword
- LIBEUFIN_SANDBOX_USERNAME=admin
- LIBEUFIN_SANDBOX_PASSWORD=superpassword
- FRIDGE_OUT_DIR=file:/app/work_out/
ports:
- "8093:8093"
expose:
- 8093
volumes:
- recipie-dir:/app/work_out/:rw
hyperfridge:
container_name: fridge
# image: e36io/hyperfridge-r0:latest
build:
context: ../hyperfridge-r0
dockerfile: ${DOCKERFILE:-DockerfileLinux} # Default to DockerfileLinux, override with DOCKERFILE environment variable if provided
environment:
# for watchdog.sh which generates a new proof in /app/out/ as soon as new file ebics file is dedected in /app/in/
- CLIENT_PR_KEY=/app/keys/client_private_key.pem
- CLIENT_PUB_KEY=/app/keys/client_public_key.pem
- BANK_PUB_KEY=/app/keys/bank_public_key.pem
- WITNESS_PUB_KEY=/data/pub_witness.pem
- WITNESS_PR_KEY=/data/witness.pem
- IN_DIR=/app/in/
- WORK_DIR=/app/work/
- OUT_DIR=/app/out/
- HOST_CMD=/app/host
command: /data/watchdog.sh
working_dir: /data
volumes:
- recipie-dir:/app/out/:rw
- ./keys/:/app/keys/:ro
- ./trace:/app/in:ro
# for DEV
# - /home/w/workspace/hyperfridge-r0/data/checkResponse.sh:/data/checkResponse.sh
# - /home/w/workspace/hyperfridge-r0/data/watchdog.sh:/data/watchdog.sh
pgadmin:
profiles:
- dev
container_name: dbadmin
image: dpage/pgadmin4:7.6
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: root
MAX_LOGIN_ATTEMPTS: '15' # Ensure this is a string, not a number
POSTGRES_USER: pgrootuser
POSTGRES_PASSWORD: pgrootpassword
POSTGRES_HOST: postgres
POSTGRES_DB: libeufindb
DANGEROUSLY_DISABLE_HOST_CHECK: 'true' # Ensure this is a string, not a boolean
depends_on:
- postgres
volumes:
- /home/w/pgadmin:/var/lib/pgadmin:rw
user: root
ports:
- "53603:53603"
- "8081:80" #mapped on w.e36.io:35050; admin@example.com root; add server medi medi medi
volumes:
recipie-dir: