-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
126 lines (117 loc) · 3.42 KB
/
docker-compose.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
version: '3'
services:
substrate_node:
container_name: substrate_node
image: ${NODE_IMAGE}
ports:
- "30333:30333" # p2p port
- "9933:9933" # rpc port
- "9944:9944" # ws port
- "9615:9615" # metrics prometheus
volumes:
- database:/polkadot
command: [
"--name", "PolkaDocker",
"--ws-external",
"--rpc-external",
"--rpc-cors", "all",
"--pruning=2000",
"--prometheus-external",
"--db-cache=${NODE_DB_CACHE_IN_MB}",
"--ws-max-connections=1000",
"--unsafe-pruning",
"--in-peers=${NODE_IN_PEERS}",
"--out-peers=${NODE_OUT_PEERS}",
"--chain", "kusama"
]
cpuset: ${NODE_CPU_SET}
node_exporter:
container_name: node_exporter
image: prom/node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
ports:
- 9100:9100
cadvisor:
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:v0.36.0
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
privileged: true
prometheus:
container_name: prometheus
image: prom/prometheus
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
depends_on:
- cadvisor
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- "9090:9090"
grafana:
container_name: grafana
image: grafana/grafana
user: "472"
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
env_file:
- ./grafana/config.monitoring
renderer:
container_name: renderer
image: grafana/grafana-image-renderer
ports:
- "8081:8081"
test_client:
container_name: test_client
build: ./test-client
user: "${CURRENT_UID}:${CURRENT_GID}"
depends_on:
- substrate_node
profiles:
- test
volumes:
- ./tests/:/etc/tests/
environment:
WS_ADDRESS: "ws://substrate_node:9944"
CONCURRENT_CONNECTIONS_MAX: ${CONCURRENT_CONNECTIONS_MAX}
CONCURRENT_CONNECTIONS_WAIT_TIME_IN_SEC: ${CONCURRENT_CONNECTIONS_WAIT_TIME_IN_SEC}
TOTAL_REQUESTS: ${TOTAL_REQUESTS}
TEST_DIR: ${TEST_DIR}
NODE_MEM: ${NODE_MEM}
NODE_CPU_SET: ${NODE_CPU_SET}
NODE_DB_CACHE: ${NODE_DB_CACHE_IN_MB}
NODE_IN_PEERS: ${NODE_IN_PEERS}
NODE_OUT_PEERS: ${NODE_OUT_PEERS}
prefetch-data:
image: alpine
command: sh -c "apk --no-cache add curl tar lz4 && mkdir -p rocksdb/.local/share/polkadot/chains/ksmcc3 && curl -o - -L https://ksm-rocksdb.polkashots.io/snapshot | lz4 -c -d - | tar -x -C rocksdb/.local/share/polkadot/chains/ksmcc3"
volumes:
- database:/rocksdb
profiles:
- download-snapshot
volumes:
database:
prometheus_data:
grafana_data: