-
Notifications
You must be signed in to change notification settings - Fork 18
/
docker-compose.yaml
148 lines (137 loc) · 3.81 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
version: "3"
volumes:
cargo-registry:
consensource-shared-data:
services:
client:
image: target/consensource:client
container_name: consensource-client
build: ./client
volumes:
- ./client/public/:/usr/local/apache2/htdocs/
expose:
- 80
ports:
- "8080:80"
cli:
image: target/consensource:cli
container_name: consensource-cli
build:
context: .
dockerfile: ./cli/Dockerfile
volumes:
- cargo-registry:/root/.cargo/registry
- consensource-shared-data:/shared_data
entrypoint: |
bash -c "
if [ ! -f $HOME/.sawtooth/keys/root.priv ]; then
sawtooth keygen
fi;
mkdir -p /shared_data/keys && \
creg genesis -o /shared_data/creg-genesis.batch -K /shared_data/keys \
-g /project/cert_registry/cli/example-genesis.yaml;
tail -f /dev/null
"
validator:
image: hyperledger/sawtooth-validator:1.0
container_name: sawtooth-validator
expose:
- 4004
ports:
- "4004:4004"
volumes:
- consensource-shared-data:/shared_data
entrypoint: |
bash -c "
while [ ! -f /shared_data/creg-genesis.batch ]; do
echo \"Waiting for ConsenSource genesis batches...\"
sleep 5;
done;
if [ ! -f /etc/sawtooth/keys/validator.priv ]; then
sawadm keygen &&
sawtooth keygen my_key &&
sawset genesis -k /root/.sawtooth/keys/my_key.priv &&
sawadm genesis config-genesis.batch /shared_data/creg-genesis.batch
fi;
sawtooth-validator -v \
--endpoint tcp://validator:8800 \
--bind component:tcp://eth0:4004 \
--bind network:tcp://eth0:8800
--scheduler parallel
"
sawtooth-rest-api:
image: hyperledger/sawtooth-rest-api:1.0
container_name: sawtooth-rest-api
ports:
- "8008:8008"
depends_on:
- validator
entrypoint: sawtooth-rest-api -v -C tcp://validator:4004 --bind sawtooth-rest-api:8008
rest-api:
image: target/consensource:rest_api
container_name: consensource-rest-api
build:
context: .
dockerfile: ./rest_api/Dockerfile
volumes:
- cargo-registry:/root/.cargo/registry
ports:
- "9009:9009"
- "9010:9010"
environment:
ROCKET_ADDRESS: "0.0.0.0"
ROCKET_PORT: "9009"
command: |
bash -c "
cert-registry-rest-api -v --dbhost postgres -C tcp://validator:4004
"
settings-tp:
image: hyperledger/sawtooth-settings-tp:1.0
container_name: sawtooth-settings-tp
depends_on:
- validator
entrypoint: settings-tp -v -C tcp://validator:4004
processor:
image: target/consensource:processor
container_name: consensource-processor
build:
context: .
dockerfile: ./processor/Dockerfile
volumes:
- cargo-registry:/root/.cargo/registry
command: |
bash -c "
target/debug/cert-registry-processor -v -C tcp://validator:4004
"
postgres:
image: postgres:alpine
container_name: cert-registry-postgres
restart: always
environment:
POSTGRES_USER: cert-registry
POSTGRES_PASSWORD: cert-registry
POSTGRES_DB: cert-registry
volumes:
- "./database/tables:/docker-entrypoint-initdb.d"
ports:
- "5432:5432"
expose:
- 5432
adminer:
image: adminer
container_name: consensource-adminer
restart: always
ports:
- "8081:8080"
state_delta_subscriber:
image: target/consensource:state_delta_subscriber
container_name: consensource-state-delta-sub
build:
context: .
dockerfile: ./state_delta_subscriber/Dockerfile
volumes:
- cargo-registry:/root/.cargo/registry
command: |
bash -c "
target/debug/state_delta_subscriber --dbhost postgres -v -C tcp://validator:4004
"