Skip to content

Commit a200cae

Browse files
committed
feat: update compose to use ghcr.io/luxfi/indexer image
Use published GHCR image instead of local build context for all chain indexers (A, B, P, Q, T, X, Z chains). Image: ghcr.io/luxfi/indexer:${INDEXER_VERSION:-main}
1 parent 67eee3f commit a200cae

1 file changed

Lines changed: 233 additions & 0 deletions

File tree

docker-compose.all-chains.yml

Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
# LUX Network Multi-Chain Explorer - All Chains
2+
# This compose file brings up ALL chain explorers for mainnet
3+
#
4+
# Chains:
5+
# - A-Chain (AI): Custom indexer on port 4500
6+
# - B-Chain (Bridge): Custom indexer on port 4600
7+
# - C-Chain (EVM): Blockscout on ports 3000/4000
8+
# - P-Chain (Platform): Custom indexer on port 4100
9+
# - Q-Chain (Quantum): Custom indexer on port 4300
10+
# - T-Chain (Teleport): Custom indexer on port 4700
11+
# - X-Chain (Exchange): Custom indexer on port 4200
12+
# - Z-Chain (ZK): Custom indexer on port 4400 (coming soon)
13+
#
14+
# Usage: docker-compose -f docker-compose.all-chains.yml up -d
15+
16+
x-indexer-common: &indexer-common
17+
image: ghcr.io/luxfi/indexer:${INDEXER_VERSION:-main}
18+
pull_policy: always
19+
restart: always
20+
networks:
21+
- hanzo-network
22+
extra_hosts:
23+
- "host.docker.internal:host-gateway"
24+
25+
services:
26+
# ===========================================
27+
# A-Chain (AI) - Custom Indexer
28+
# ===========================================
29+
a-indexer:
30+
<<: *indexer-common
31+
container_name: 'lux-achain-indexer'
32+
command: ["-chain", "achain", "-port", "4000"]
33+
ports:
34+
- "4500:4000"
35+
environment:
36+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/A
37+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_achain?sslmode=disable
38+
HTTP_PORT: 4000
39+
healthcheck:
40+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
41+
interval: 30s
42+
timeout: 10s
43+
retries: 3
44+
45+
# ===========================================
46+
# B-Chain (Bridge) - Custom Indexer
47+
# ===========================================
48+
b-indexer:
49+
<<: *indexer-common
50+
container_name: 'lux-bchain-indexer'
51+
command: ["-chain", "bchain", "-port", "4000"]
52+
ports:
53+
- "4600:4000"
54+
environment:
55+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/B
56+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_bchain?sslmode=disable
57+
HTTP_PORT: 4000
58+
healthcheck:
59+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
60+
interval: 30s
61+
timeout: 10s
62+
retries: 3
63+
64+
# ===========================================
65+
# C-Chain (EVM) - Blockscout
66+
# ===========================================
67+
c-backend:
68+
image: ghcr.io/blockscout/blockscout:${DOCKER_TAG:-latest}
69+
pull_policy: always
70+
restart: always
71+
container_name: 'lux-cchain-backend'
72+
command: sh -c "bin/blockscout eval 'Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
73+
ports:
74+
- "4000:4000"
75+
networks:
76+
- hanzo-network
77+
extra_hosts:
78+
- "host.docker.internal:host-gateway"
79+
environment:
80+
ETHEREUM_JSONRPC_VARIANT: geth
81+
ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:9630/ext/bc/C/rpc
82+
ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:9630/ext/bc/C/rpc
83+
CHAIN_ID: '96369'
84+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_luxnet?sslmode=disable
85+
ECTO_USE_SSL: 'false'
86+
POOL_SIZE: 40
87+
SECRET_KEY_BASE: 56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN
88+
COIN: LUX
89+
PORT: 4000
90+
API_V2_ENABLED: 'true'
91+
92+
c-frontend:
93+
image: ghcr.io/blockscout/frontend:${FRONTEND_TAG:-latest}
94+
pull_policy: always
95+
restart: always
96+
container_name: 'lux-cchain-frontend'
97+
depends_on:
98+
- c-backend
99+
ports:
100+
- "3000:3000"
101+
networks:
102+
- hanzo-network
103+
environment:
104+
NEXT_PUBLIC_API_HOST: api-explore.lux.network
105+
NEXT_PUBLIC_API_PROTOCOL: https
106+
NEXT_PUBLIC_NETWORK_NAME: "LUX Network"
107+
NEXT_PUBLIC_NETWORK_ID: 96369
108+
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: LUX
109+
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: LUX
110+
111+
# ===========================================
112+
# P-Chain (Platform) - Custom Indexer
113+
# ===========================================
114+
p-indexer:
115+
<<: *indexer-common
116+
container_name: 'lux-pchain-indexer'
117+
command: ["-chain", "pchain", "-port", "4000"]
118+
ports:
119+
- "4100:4000"
120+
environment:
121+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/P
122+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_pchain?sslmode=disable
123+
HTTP_PORT: 4000
124+
healthcheck:
125+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
126+
interval: 30s
127+
timeout: 10s
128+
retries: 3
129+
130+
# ===========================================
131+
# Q-Chain (Quantum) - Custom Indexer
132+
# ===========================================
133+
q-indexer:
134+
<<: *indexer-common
135+
container_name: 'lux-qchain-indexer'
136+
command: ["-chain", "qchain", "-port", "4000"]
137+
ports:
138+
- "4300:4000"
139+
environment:
140+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/Q
141+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_qchain?sslmode=disable
142+
HTTP_PORT: 4000
143+
healthcheck:
144+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
145+
interval: 30s
146+
timeout: 10s
147+
retries: 3
148+
149+
# ===========================================
150+
# T-Chain (Teleport) - Custom Indexer
151+
# ===========================================
152+
t-indexer:
153+
<<: *indexer-common
154+
container_name: 'lux-tchain-indexer'
155+
command: ["-chain", "tchain", "-port", "4000"]
156+
ports:
157+
- "4700:4000"
158+
environment:
159+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/T
160+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_tchain?sslmode=disable
161+
HTTP_PORT: 4000
162+
healthcheck:
163+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
164+
interval: 30s
165+
timeout: 10s
166+
retries: 3
167+
168+
# ===========================================
169+
# X-Chain (Exchange) - Custom Indexer
170+
# ===========================================
171+
x-indexer:
172+
<<: *indexer-common
173+
container_name: 'lux-xchain-indexer'
174+
command: ["-chain", "xchain", "-port", "4000"]
175+
ports:
176+
- "4200:4000"
177+
environment:
178+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/X
179+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_xchain?sslmode=disable
180+
HTTP_PORT: 4000
181+
healthcheck:
182+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
183+
interval: 30s
184+
timeout: 10s
185+
retries: 3
186+
187+
# ===========================================
188+
# Z-Chain (ZK) - Custom Indexer (Coming Soon)
189+
# ===========================================
190+
z-indexer:
191+
<<: *indexer-common
192+
container_name: 'lux-zchain-indexer'
193+
command: ["-chain", "zchain", "-port", "4000"]
194+
ports:
195+
- "4400:4000"
196+
environment:
197+
RPC_ENDPOINT: http://host.docker.internal:9630/ext/bc/Z
198+
DATABASE_URL: postgresql://blockscout:blockscout@lux-postgres:5432/explorer_zchain?sslmode=disable
199+
HTTP_PORT: 4000
200+
healthcheck:
201+
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
202+
interval: 30s
203+
timeout: 10s
204+
retries: 3
205+
profiles:
206+
- future # Z-Chain not yet live, enable with --profile future
207+
208+
# ===========================================
209+
# Shared Services
210+
# ===========================================
211+
visualizer:
212+
image: ghcr.io/blockscout/visualizer:${VISUALIZER_VERSION:-latest}
213+
pull_policy: always
214+
restart: always
215+
container_name: 'lux-visualizer'
216+
networks:
217+
- hanzo-network
218+
ports:
219+
- "8050:8050"
220+
221+
sig-provider:
222+
image: ghcr.io/blockscout/sig-provider:${SIG_PROVIDER_VERSION:-latest}
223+
pull_policy: always
224+
restart: always
225+
container_name: 'lux-sig-provider'
226+
networks:
227+
- hanzo-network
228+
ports:
229+
- "8051:8050"
230+
231+
networks:
232+
hanzo-network:
233+
external: true

0 commit comments

Comments
 (0)