-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.multi.yml
128 lines (124 loc) · 4.66 KB
/
docker-compose.multi.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
services:
# Base Indexer: Blocks, Transactions, Logs, Contracts, Native Transfers
cryo-indexer-base:
image: cryo-indexer:latest
container_name: cryo-indexer-base
volumes:
- base_data:/app/data
- base_logs:/app/logs
- base_state:/app/state
- ./migrations:/app/migrations
environment:
- ETH_RPC_URL=${ETH_RPC_URL}
- CLICKHOUSE_HOST=${CLICKHOUSE_HOST}
- CLICKHOUSE_USER=${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}
- CLICKHOUSE_DATABASE=${CLICKHOUSE_DATABASE:-blockchain}
- CLICKHOUSE_PORT=${CLICKHOUSE_PORT:-9440}
- CLICKHOUSE_SECURE=${CLICKHOUSE_SECURE:-true}
- CONFIRMATION_BLOCKS=${CONFIRMATION_BLOCKS:-20}
- POLL_INTERVAL=${POLL_INTERVAL:-15}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- START_BLOCK=${BASE_START_BLOCK:-0} # Default to block 0 for base data
- END_BLOCK=${END_BLOCK:-0}
- MAX_BLOCKS_PER_BATCH=${MAX_BLOCKS_PER_BATCH:-1000}
- OPERATION_MODE=scraper
- INDEXER_MODE=tx_data
- INDEXER_STATE_FILE=indexer_state_tx_data.json
- NETWORK_NAME=${NETWORK_NAME:-gnosis}
restart: unless-stopped
# State Diffs Indexer
cryo-indexer-state:
image: cryo-indexer:latest
container_name: cryo-indexer-state
volumes:
- state_data:/app/data
- state_logs:/app/logs
- state_state:/app/state
- ./migrations:/app/migrations
environment:
- ETH_RPC_URL=${ETH_RPC_URL}
- CLICKHOUSE_HOST=${CLICKHOUSE_HOST}
- CLICKHOUSE_USER=${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}
- CLICKHOUSE_DATABASE=${CLICKHOUSE_DATABASE:-blockchain}
- CLICKHOUSE_PORT=${CLICKHOUSE_PORT:-9440}
- CLICKHOUSE_SECURE=${CLICKHOUSE_SECURE:-true}
- CONFIRMATION_BLOCKS=${CONFIRMATION_BLOCKS:-20}
- POLL_INTERVAL=${POLL_INTERVAL:-15}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- START_BLOCK=${STATE_START_BLOCK:-1} # Default to block 1 for state diffs
- MAX_BLOCKS_PER_BATCH=${MAX_BLOCKS_PER_BATCH:-500} # Smaller batch size for state diffs
- OPERATION_MODE=scraper
- INDEXER_MODE=state_diffs
- INDEXER_STATE_FILE=indexer_state_state_diffs.json
- NETWORK_NAME=${NETWORK_NAME:-gnosis}
restart: unless-stopped
# Traces Indexer
cryo-indexer-traces:
image: cryo-indexer:latest
container_name: cryo-indexer-traces
volumes:
- traces_data:/app/data
- traces_logs:/app/logs
- traces_state:/app/state
- ./migrations:/app/migrations
environment:
- ETH_RPC_URL=${ETH_RPC_URL}
- CLICKHOUSE_HOST=${CLICKHOUSE_HOST}
- CLICKHOUSE_USER=${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}
- CLICKHOUSE_DATABASE=${CLICKHOUSE_DATABASE:-blockchain}
- CLICKHOUSE_PORT=${CLICKHOUSE_PORT:-9440}
- CLICKHOUSE_SECURE=${CLICKHOUSE_SECURE:-true}
- CONFIRMATION_BLOCKS=${CONFIRMATION_BLOCKS:-20}
- POLL_INTERVAL=${POLL_INTERVAL:-15}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- START_BLOCK=${TRACES_START_BLOCK:-0} # Default to block 0 for traces
- MAX_BLOCKS_PER_BATCH=${MAX_BLOCKS_PER_BATCH:-500} # Smaller batch size for traces
- OPERATION_MODE=scraper
- INDEXER_MODE=traces
- INDEXER_STATE_FILE=indexer_state_traces.json
- NETWORK_NAME=${NETWORK_NAME:-gnosis}
restart: unless-stopped
# Token Data Indexer (ERC20 & ERC721)
cryo-indexer-tokens:
image: cryo-indexer:latest
container_name: cryo-indexer-tokens
volumes:
- tokens_data:/app/data
- tokens_logs:/app/logs
- tokens_state:/app/state
- ./migrations:/app/migrations
environment:
- ETH_RPC_URL=${ETH_RPC_URL}
- CLICKHOUSE_HOST=${CLICKHOUSE_HOST}
- CLICKHOUSE_USER=${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}
- CLICKHOUSE_DATABASE=${CLICKHOUSE_DATABASE:-blockchain}
- CLICKHOUSE_PORT=${CLICKHOUSE_PORT:-9440}
- CLICKHOUSE_SECURE=${CLICKHOUSE_SECURE:-true}
- CONFIRMATION_BLOCKS=${CONFIRMATION_BLOCKS:-20}
- POLL_INTERVAL=${POLL_INTERVAL:-15}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- START_BLOCK=${TOKENS_START_BLOCK:-0} # Default to block 0 for token data
- MAX_BLOCKS_PER_BATCH=${MAX_BLOCKS_PER_BATCH:-1000}
- OPERATION_MODE=scraper
- INDEXER_MODE=custom # Custom mode with specified datasets
- DATASETS=erc20_transfers,erc20_metadata,erc721_transfers,erc721_metadata
- INDEXER_STATE_FILE=indexer_state_tokens.json
- NETWORK_NAME=${NETWORK_NAME:-gnosis}
restart: unless-stopped
volumes:
base_data:
base_logs:
base_state:
state_data:
state_logs:
state_state:
traces_data:
traces_logs:
traces_state:
tokens_data:
tokens_logs:
tokens_state: