forked from StakeSquid/graphprotocol-testnet-docker
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcompose-indexer.yml
153 lines (137 loc) · 6.46 KB
/
compose-indexer.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
144
145
146
147
148
149
150
151
152
153
version: '2.1'
x-logging:
&default-logging
options:
max-file: '1'
compress: 'false'
driver: local
networks:
monitor-net:
driver: bridge
volumes:
postgres2_data: {}
services:
######################################################################################
##################### CLI CONTAINER #######################
######################################################################################
cli:
build:
context: ./cli
container_name: cli
restart: unless-stopped
environment:
GEO_COORDINATES: ${GEO_COORDINATES:-69.42069 69.42069}
tty: true
networks:
- monitor-net
logging: *default-logging
volumes:
- ./cli/scripts:/home/graph/scripts
######################################################################################
##################### INDEXER SERVICE CONTAINER #######################
######################################################################################
indexer-service:
image: ${INDEXER_SERVICE_VERSION:-ghcr.io/graphprotocol/indexer-service:v0.20.12}
container_name: indexer-service
depends_on:
- postgres2
environment:
INDEXER_SERVICE_MNEMONIC: ${OPERATOR_SEED_PHRASE}
INDEXER_SERVICE_INDEXER_ADDRESS: ${STAKING_WALLET_ADDRESS}
INDEXER_SERVICE_PORT: 7600
INDEXER_SERVICE_ETHEREUM_NETWORK: arbitrum-goerli
INDEXER_SERVICE_ETHEREUM: ${TXN_RPC}
INDEXER_SERVICE_GRAPH_NODE_QUERY_ENDPOINT: http://query-node-0:8000
INDEXER_SERVICE_GRAPH_NODE_STATUS_ENDPOINT: http://index-node-0:8030/graphql
INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT: ${INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT:-https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-goerli}
INDEXER_SERVICE_NETWORK_SUBGRAPH_DEPLOYMENT: ${NETWORK_SUBGRAPH_DEPLOYMENT}
INDEXER_SERVICE_POSTGRES_HOST: postgres2
INDEXER_SERVICE_POSTGRES_USERNAME: ${DB_USER:-graph-node}
INDEXER_SERVICE_POSTGRES_PASSWORD: ${DB_PASS:-db-password}
INDEXER_SERVICE_POSTGRES_DATABASE: ${AGENT_DB_NAME:-indexer-agent}
INDEXER_SERVICE_WALLET_WORKER_THREADS: ${WORKER_THREADS_PER_INDEXER_SERVICE:-8}
INDEXER_SERVICE_CLIENT_SIGNER_ADDRESS: "0xac01B0b3B2Dc5D8E0D484c02c4d077C15C96a7b4"
SKIP_EVM_VALIDATION: "true"
SERVER_HOST: ${AGENT_DB_HOST:-postgres2}
SERVER_PORT: 5432
SERVER_DB_USER: ${DB_USER:-graph-node}
SERVER_DB_PASSWORD: ${DB_PASS:-db-password}
SERVER_DB_NAME: ${AGENT_DB_NAME:-indexer-agent}
expose:
- 7300
- 7600
networks:
- monitor-net
restart: unless-stopped
logging: *default-logging
labels:
- "traefik.enable=true"
- "traefik.http.services.indexer-service.loadbalancer.server.port=7600"
- "traefik.http.routers.indexer-service.entrypoints=websecure"
- "traefik.http.routers.indexer-service.tls.certresolver=myresolver"
- "traefik.http.routers.indexer-service.rule=Host(`$INDEX_HOST`)"
######################################################################################
##################### INDEXER AGENT CONTAINER #######################
######################################################################################
indexer-agent:
image: ${INDEXER_AGENT_VERSION:-ghcr.io/graphprotocol/indexer-agent:v0.20.12}
container_name: indexer-agent
depends_on:
- postgres2
expose:
- 7300
- 8000
- 8001
- 8002
environment:
INDEXER_AGENT_MNEMONIC: ${OPERATOR_SEED_PHRASE}
INDEXER_AGENT_INDEXER_ADDRESS: ${STAKING_WALLET_ADDRESS}
INDEXER_AGENT_INDEX_NODE_IDS: "index_node_0"
INDEXER_AGENT_INJECT_DAI: "true"
INDEXER_AGENT_REBATE_CLAIM_THRESHOLD: ${REBATE_CLAIM_THRESHOLD:-0}
INDEXER_AGENT_REBATE_CLAIM_BATCH_THRESHOLD: ${REBATE_CLAIM_BATCH_THRESHOLD:-0}
INDEXER_AGENT_REBATE_CLAIM_MAX_BATCH_SIZE: ${REBATE_CLAIM_MAX_BATCH_SIZE:-100}
INDEXER_AGENT_VOUCHER_REDEMPTION_THRESHOLD: ${VOUCHER_REDEMPTION_THRESHOLD:-0}
INDEXER_AGENT_VOUCHER_REDEMPTION_BATCH_THRESHOLD: ${VOUCHER_REDEMPTION_BATCH_THRESHOLD:-0}
INDEXER_AGENT_VOUCHER_REDEMPTION_MAX_BATCH_SIZE: ${VOUCHER_REDEMPTION_MAX_BATCH_SIZE:-100}
INDEXER_AGENT_ETHEREUM_NETWORK: arbitrum-goerli
INDEXER_AGENT_ETHEREUM: ${TXN_RPC}
INDEXER_AGENT_GRAPH_NODE_QUERY_ENDPOINT: http://query-node-0:8000
INDEXER_AGENT_GRAPH_NODE_STATUS_ENDPOINT: http://index-node-0:8030/graphql
INDEXER_AGENT_GRAPH_NODE_ADMIN_ENDPOINT: http://index-node-0:8020
INDEXER_AGENT_PUBLIC_INDEXER_URL: 'https://${INDEX_HOST}/'
INDEXER_AGENT_INDEXER_GEO_COORDINATES: ${GEO_COORDINATES:-60.16952 24.93545}
INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT: ${INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT:-https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-goerli}
INDEXER_AGENT_NETWORK_SUBGRAPH_DEPLOYMENT: ${NETWORK_SUBGRAPH_DEPLOYMENT}
INDEXER_AGENT_EPOCH_SUBGRAPH_ENDPOINT: ${INDEXER_AGENT_EPOCH_SUBGRAPH_ENDPOINT:-https://api.thegraph.com/subgraphs/name/juanmardefago/arb-goerli-epoch-block-oracle}
INDEXER_AGENT_POSTGRES_HOST: ${AGENT_DB_HOST:-postgres2}
INDEXER_AGENT_POSTGRES_USERNAME: ${DB_USER:-graph-node}
INDEXER_AGENT_POSTGRES_PASSWORD: ${DB_PASS:-db-password}
INDEXER_AGENT_POSTGRES_DATABASE: ${AGENT_DB_NAME:-indexer-agent}
INDEXER_AGENT_DAI_CONTRACT: "0x9e7e607afd22906f7da6f1ec8f432d6f244278be"
INDEXER_AGENT_COLLECT_RECEIPTS_ENDPOINT: https://gateway-testnet-arbitrum.network.thegraph.com/collect-receipts
INDEXER_AGENT_OFFCHAIN_SUBGRAPHS: ${INDEXER_AGENT_OFFCHAIN_SUBGRAPHS}
INDEXER_AGENT_GAS_PRICE_MAX: ${INDEXER_AGENT_GAS_PRICE_MAX:-50}
networks:
- monitor-net
restart: unless-stopped
logging: *default-logging
######################################################################################
##################### POSTGRES AGENT CONTAINER #######################
######################################################################################
postgres2:
image: postgres:13.6
container_name: postgres2
command: ["postgres", "-c", "shared_preload_libraries=pg_stat_statements"]
restart: unless-stopped
environment:
POSTGRES_USER: ${DB_USER:-graph-node}
POSTGRES_PASSWORD: ${DB_PASS:-db-password}
POSTGRES_DB: ${AGENT_DB_NAME:-indexer-agent}
volumes:
- postgres2_data:/var/lib/postgresql/data
networks:
- monitor-net
expose:
- 5432
logging: *default-logging