forked from StakeSquid/graphprotocol-testnet-docker
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcompose-optional.yml
123 lines (108 loc) · 4.55 KB
/
compose-optional.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
version: '2.1'
x-logging:
&default-logging
options:
max-file: '1'
compress: 'false'
driver: local
networks:
monitor-net:
driver: bridge
services:
######################################################################################
##################### POI RADIO CONTAINER #######################
######################################################################################
poi-radio:
image: ghcr.io/graphops/poi-radio:0.0.10
container_name: poi-radio
restart: unless-stopped
environment:
GRAPHCAST_NETWORK: "testnet"
REGISTRY_SUBGRAPH: "https://api.thegraph.com/subgraphs/name/hopeyen/graphcast-registry-arbitrum-goerli"
NETWORK_SUBGRAPH: "https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-goerli"
#ETH_NODE: "http://${TXN_RPC}:8545"
PRIVATE_KEY: "${GRAPHCAST_ID_PRIVATE_KEY}"
GRAPH_NODE_STATUS_ENDPOINT: "http://index-node-0:8030/graphql"
RUST_LOG: "warn,hyper=warn,graphcast_sdk=info,poi_radio=info"
networks:
- monitor-net
logging: *default-logging
######################################################################################
##################### POIFIER CONTAINER #######################
######################################################################################
poifier:
image: grassets/poifier-client:v2.0.3
container_name: poifier
command:
- '--poifier-server=https://goerli.poifier.io'
- '--graph-node-status-endpoint=http://index-node-0:8030/graphql'
- '--mnemonic=${OPERATOR_SEED_PHRASE}'
- '--indexer-address=${STAKING_WALLET_ADDRESS}'
- '--indexer-agent-epoch-subgraph-endpoint=${INDEXER_AGENT_EPOCH_SUBGRAPH_ENDPOINT:-https://api.thegraph.com/subgraphs/name/graphprotocol/goerli-epoch-block-oracle}'
tty: true
networks:
- monitor-net
restart: unless-stopped
######################################################################################
##################### INDEXER AGENT GUI #######################
######################################################################################
indexer-agent-gui:
image: ${INDEXER_AGENT_GUI:-ghcr.io/stakemachine/indexer-agent-ui:v0.1.14}
container_name: indexer-agent-gui
expose:
- 3000
environment:
- UI_LOGIN=${ADMIN_USER:-test}
- UI_PASS=${ADMIN_PASSWORD:-pass}
- AGENT_ENDPOINT=${INDEXER_AGENT_ENDPOINT:-http://indexer-agent:8000}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=https://${AGENT_GUI_HOST}/
- SUBGRAPH_ENDPOINT=${INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT:-https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-goerli}
- VIRTUAL_HOST=${AGENT_GUI_HOST}
- VIRTUAL_PORT=3000
- LETSENCRYPT_HOST=${AGENT_GUI_HOST}
restart: unless-stopped
networks:
- monitor-net
logging: *default-logging
labels:
- "traefik.enable=true"
- "traefik.http.services.indexer-agent-gui.loadbalancer.server.port=3000"
- "traefik.http.routers.indexer-agent-gui.entrypoints=websecure"
- "traefik.http.routers.indexer-agent-gui.tls.certresolver=myresolver"
- "traefik.http.routers.indexer-agent-gui.rule=Host(`$AGENT_GUI_HOST`)"
######################################################################################
##################### TRAEFIK PROXY CONTAINER #######################
######################################################################################
traefik:
image: traefik:latest
container_name: traefik
restart: always
expose:
- "8082"
ports:
- "443:443"
- "80:80"
command:
- "--api=true"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--log.level=DEBUG"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.file.filename=/dynamic_config.yml"
- "--entrypoints.websecure.address=:443"
- "--entryPoints.metrics.address=:8082"
- "--metrics.prometheus.entryPoint=metrics"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
# TESTING
- "--certificatesresolvers.myresolver.acme.email=$EMAIL"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
volumes:
- "./traefik/letsencrypt:/letsencrypt"
- "./traefik/config/dynamic_config.yml:/dynamic_config.yml"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- monitor-net
labels:
- "traefik.enable=true"