-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
180 lines (170 loc) · 10.8 KB
/
docker-compose.yaml
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
version: '3.5'
volumes:
postgres-data:
acapy-storage:
tails-files:
services:
postgres:
image: postgres:14
platform: linux/amd64
environment:
- PGUSER=postgres
- POSTGRES_PASSWORD=mysecretpassword
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: pg_isready -U postgres
interval: 5s
timeout: 5s
retries: 5
tails:
build:
context: ./tails
platform: linux/amd64
ports:
- 8080:8080
volumes:
- tails-files:/home/indy/tails-files
entrypoint: [
"tails-server", "--host", "0.0.0.0", "--port", "8080", "--storage-path", "/home/indy/tails-files"
]
acapy:
build:
context: ./acapy
platform: linux/amd64
ports:
- 8000:8000
- 8001:8001
volumes:
- acapy-storage:/home/indy/.indy_client
entrypoint: [
"aca-py", "start",
"--admin", "0.0.0.0", "8001",
"--endpoint", "http://acapy:8000",
"--inbound-transport", "http", "0.0.0.0", "8000",
"--outbound-transport", "http",
"--auto-respond-credential-request",
"--auto-verify-presentation",
"--emit-new-didcomm-prefix",
"--preserve-exchange-records",
]
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://acapy:8001/status/ready"]
interval: 1m
timeout: 10s
retries: 3
start_period: 10s
environment:
RUST_LOG: "debug"
ACAPY_LOG_LEVEL: "debug"
ACAPY_MULTITENANT: "true"
ACAPY_MULTITENANT_ADMIN: "true"
ACAPY_MULTITENANT_JWT_SECRET: "EKLKNBj4JasyVTuEWdyYjFis8ELBquuEErSHSB4DNWm2"
ACAPY_MULTITENANCY_CONFIGURATION: |+
{
"wallet_type":"basic",
"wallet_name":"tenancy_wallets",
"cache_size":"100",
"key_derivation_method":"RAW"
}
ACAPY_WALLET_ALLOW_INSECURE_SEED: "true"
ACAPY_WALLET_TYPE: "askar-anoncreds"
ACAPY_WALLET_NAME: "base_wallet"
ACAPY_WALLET_KEY_DERIVATION_METHOD: "RAW"
ACAPY_WALLET_KEY: "AgRVxFCXpuDS8NhYxamb8BkMDZr8NZzX9Y2Ut3ek6pRo"
ACAPY_WALLET_STORAGE_TYPE: "postgres_storage"
ACAPY_WALLET_STORAGE_CONFIG: |+
{
"url":"postgres:5432",
"wallet_scheme":"MultiWalletSingleTable",
"max_connections":"5",
"min_idle_count":"0",
"connection_timeout":"5"
}
ACAPY_WALLET_STORAGE_CREDS: |+
{
"account":"postgres",
"password":"mysecretpassword",
"admin_account":"postgres",
"admin_password":"mysecretpassword"
}
ACAPY_ADMIN_INSECURE_MODE: "true"
ACAPY_IMAGE_URL: "https://robohash.org/acapy"
ACAPY_ADMIN_CLIENT_MAX_REQUEST_SIZE: "16"
ACAPY_MAX_MESSAGE_SIZE: "16777216"
ACAPY_MAX_OUTBOUND_RETRY: 1
ACAPY_PUBLIC_INVITES: "true"
ACAPY_AUTO_PROVISION: "true"
ACAPY_AUTO_ACCEPT_REQUESTS: "true"
ACAPY_AUTO_RESPOND_CREDENTIAL_OFFER: "true"
ACAPY_AUTO_STORE_CREDENTIAL: "true"
ACAPY_AUTO_RESPOND_PRESENTATION_REQUEST: "true"
ACAPY_GENESIS_TRANSACTIONS: |+
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"}
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.138.255","client_port":9704,"node_ip":"138.197.138.255","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"}
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.138.255","client_port":9706,"node_ip":"138.197.138.255","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"}
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"138.197.138.255","client_port":9708,"node_ip":"138.197.138.255","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"}
# {"reqSignature":{},"txn":{"data":{"data":{"alias":"opsnode-dn","blskey":"3brafcinN6X2wXvkgLdTUiVNCaJr1EhdM2bZFcmufx3ywS9XebbpwPpT7dMza9UzL5yk4HavjFuWHSBuyT5MsuLb6MYLwyzVXGiokZeubpRwuLfghVEchVALczFsJyKo7w5NZtamYP4Lx2SAYofaqHqQj3RibuPSv3err6rt9JFx6x3","blskey_pop":"RXMfLofDgBaZP3Nj8jY7fKM23atzcvne566MPmVqnnCLcocxvPRTV44S9fxS63URHZatM6UVTT9e3a5z2CnAL9mpdWB26YwQAHY3qQckJRU9fZuUk2TuTpcqD7Ga3ev75rrfsLqHiK2H2g6bA8sdB8X5NtQrqx3uZVrwwbwHg49WTy","client_ip":"13.244.162.184","client_port":"9702","node_ip":"13.244.218.51","node_port":"9701","services":["VALIDATOR"]},"dest":"A1XETkQtZmHhWiEcbdcJEwww49dmC7x47q9JgvzMksKV"},"metadata":{"from":"LCWN4ivQ3b68GaoMAuKyDq"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"cae6afe3265457b7222617237aef8c0bf6e2900968d0922fc48e18473a221f88"},"ver":"1"}
# {"reqSignature":{},"txn":{"data":{"data":{"alias":"IdRamp-Demo1","blskey":"PUyFcZsKvVFy9qE4PHZReRDTMLQ9yRLuGvkUrN8fv24BYyFYcaHm66xgjaSk67tuv9ZyPvigHvFNocLSfxyeLtcjSr2oYjy99C3QXSpp8ZxGPTeWgbkNWxwLgZcXEYHdy6cjyg48N9AQFa4fx6zKnndMfKDxavGtZ1Pcciyesrvy1s","blskey_pop":"RL3oCrshuc8uiQ61VHPKfU7Pvkf9myjAcBNyGWHbG9Ws5PwXBwL7hNmhUR795zZNY2N275J1nP8iA8GJTaYR8M5onvH7CYKK5Pwom1iNuSV9Crxwg3pxTQVD3vNeEPAy9ZWEmZctS2w8dqQQ1aZp6hEU936dAz1XxxFb3j74oYj6Ky","client_ip":"207.126.128.11","client_port":"9702","node_ip":"207.126.129.11","node_port":"9701","services":["VALIDATOR"]},"dest":"DNfGpxhAvpwBVGEnFLJxC3GVHzXPVjQDtxsmT6PezsRy"},"metadata":{"from":"UgWhCVmxmsMm5XbafkSDzw"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"15182d52b3b8fb130b2ab04aa982059b6d6543989b755a1e0eae02304ae51d53"},"ver":"1"}
# {"reqSignature":{},"txn":{"data":{"data":{"alias":"IdRamp-Demo2","blskey":"13fwtVCpuLDLJp5EyoT9mQK9x3f3uykhRFG1SbRWrHMpXz2mptsqi8agDKviWMnCywcAGuwsZyCg8PdZUtKeByPtj78HtHf1Rnaa84DpDQ7CGnfuNwi881TqbScQyYpHw1ZsqqQmh7CXx6h8UeNWnVqpvViDx2DRi8hKScisFkkBH6o","blskey_pop":"R5QRJhHZijB7i1ESNZgGnU8cmdhNGhZHMGkie7cf6opW7DqAhuWWzEc4dRB1tKoEwDAXy9Akwc5KGXE4FLRzpj6WAzKEjyuat2vntzQGFusdSCrrjr4Kut1LF5YRr8xEQGwRw3iXguhhw4ehn6bBwc4hPG2MhqYrHyzfe3KhoReYjR","client_ip":"207.126.128.14","client_port":"9702","node_ip":"207.126.129.14","node_port":"9701","services":["VALIDATOR"]},"dest":"61CT5xXftBfYQqCjuBwCcd1rzsdkYh4AbEmkkG6LK1xB"},"metadata":{"from":"BZQJHtWR9uTpUGpHXC5AQc"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7a900ed1b24945a6be2afe76a82cb6645e4d48b922627b6db40dda387c53c972"},"ver":"1"}
# {"reqSignature":{},"txn":{"data":{"data":{"alias":"IdRamp-Demo3","blskey":"KvZ49NgBiKjiHNPckG5n1NqPZQYrSztpxghWnVkbsAndeZ9U5Zq5aaLFcJDi7wN9A6DM7cwJQVmYWdVuNG8Ci8kzo95P1WhM9x4ye2s6eh3Uoiq1vpRGoSt3LX1HecqENK8gTQCqpGiZpz74b5tg4RLuRm65TPcKLM7gpGcfFRHZCr","blskey_pop":"QsphXcJaPrTWUPtFMnd4CLqMPpuU9b5fXXSUBsbiFnL5fidPD9B8rFnukD4wDSteeBGFTxM7Xi1agSLpah19nWevh8Mn9mHEb1KATEG5xaVWdrHxEJHHGXavxEoVkdDjWYx97bDyPuccEc5K8zaE9qt5VPe9K7CNqqHdikvhPZxxQw","client_ip":"207.126.128.16","client_port":"9702","node_ip":"207.126.129.16","node_port":"9701","services":["VALIDATOR"]},"dest":"CAHd9Wt1NaaM7uWu4L2ZoXw6Gy7WDyqFLnNmRDZLW9cT"},"metadata":{"from":"TnbCiyvJwbri1qBoC9DPYd"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"e79eae9b08847569f6584e439598b69a983c068995ddfd2d1c032d8f6cb5ffe6"},"ver":"1"}
ACAPY_TAILS_SERVER_BASE_URL: "http://tails:8080"
ACAPY_TAILS_SERVER_UPLOAD_URL: "http://tails:8080"
holder-controller:
build:
context: ./controller
platform: linux/amd64
ports:
- 8002:80
volumes:
- ./holder-controller/src:/app/src
entrypoint: [
"python3", "src/main.py"
]
environment:
ACAPY_WALLET_TOKEN: "${HOLDER_WALLET_TOKEN}"
ACAPY_ADMIN_URL: "http://acapy:8001"
ISSUER_ENDPOINT: "http://issuer-controller:80"
VERIFIER_ENDPOINT: "http://verifier-controller:80"
issuer-controller:
build:
context: ./controller
platform: linux/amd64
ports:
- 8003:80
volumes:
- ./issuer-controller/src:/app/src
entrypoint: [
"python3", "src/main.py"
]
environment:
ACAPY_WALLET_TOKEN: "${ISSUER_WALLET_TOKEN}"
ACAPY_ADMIN_URL: "http://acapy:8001"
CRED_DEF_ID_1: "${CRED_DEF_ID_1}"
verifier-controller:
build:
context: ./controller
platform: linux/amd64
ports:
- 8004:80
volumes:
- ./verifier-controller/src:/app/src
entrypoint: [
"python3", "src/main.py"
]
environment:
ACAPY_WALLET_TOKEN: "${VERIFIER_WALLET_TOKEN}"
ACAPY_ADMIN_URL: "http://acapy:8001"
CRED_DEF_ID_1: "${CRED_DEF_ID_1}"
setup:
build:
context: ./setup
platform: linux/amd64
volumes:
- ./:/setup/
entrypoint: [
"bash", "-c", "while true; do sleep 10000; done"
]