Skip to content

Commit f483e8c

Browse files
authored
Merge pull request #945 from SyndicateProtocol/self-hosting-docker-compose
updates docker-compose to include all services (for docs)
2 parents d8a1bf8 + a682123 commit f483e8c

File tree

1 file changed

+105
-113
lines changed

1 file changed

+105
-113
lines changed
Lines changed: 105 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,131 @@
11
services:
2-
mchain:
3-
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-mchain:latest
4-
platform: linux/amd64
5-
build:
6-
context: ../../
7-
target: synd-mchain
8-
dockerfile: Dockerfile
9-
env_file: .env
10-
environment:
11-
APPCHAIN_CHAIN_ID: ${APPCHAIN_CHAIN_ID}
12-
GENESIS_CONFIG: ${GENESIS_CONFIG}
13-
DATADIR: /datadir
14-
RUST_LOG: TRACE
15-
ports:
16-
- "8545"
17-
- "8546"
18-
volumes:
19-
- ./data/mchain:/datadir
20-
networks:
21-
- appchains-network
222

23-
seq-ingestor:
24-
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-chain-ingestor:latest
25-
platform: linux/amd64
26-
build:
27-
context: ../../
28-
target: synd-chain-ingestor
29-
dockerfile: Dockerfile
3+
valkey:
4+
image: valkey/valkey:8-alpine
5+
container_name: valkey
6+
command: ["valkey-server", "--save", "60", "1", "--loglevel", "warning"]
307
volumes:
31-
- ./data/seq-ingestor:/chains
32-
env_file: .env
8+
- /mnt/synd-data/valkey:/data
9+
restart: unless-stopped
10+
11+
maestro:
12+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-maestro:${SYND_APPCHAINS_VERSION:-v1.0.12}
13+
container_name: maestro
14+
env_file:
15+
- .env
3316
environment:
34-
DB_FILE: /chains/seq-ingestor.db
35-
START_BLOCK: 246980
36-
WS_URLS: ${SEQUENCING_WS_URLS}
37-
ports:
38-
- "8545"
39-
- "8546"
40-
networks:
41-
- appchains-network
17+
- VALKEY_URL=redis://valkey:6379
18+
depends_on:
19+
- valkey
20+
restart: unless-stopped
4221

43-
set-ingestor:
44-
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-chain-ingestor:latest
45-
platform: linux/amd64
46-
build:
47-
context: ../../
48-
target: synd-chain-ingestor
49-
dockerfile: Dockerfile
50-
volumes:
51-
- ./data/set-ingestor:/chains
52-
env_file: .env
22+
batch_sequencer:
23+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-batch-sequencer:${SYND_APPCHAINS_VERSION:-v1.0.12}
24+
container_name: batch_sequencer
25+
env_file:
26+
- .env
5327
environment:
54-
DB_FILE: /chains/set-ingestor.db
55-
START_BLOCK: 33025206
56-
WS_URLS: ${SETTLEMENT_WS_URLS}
57-
ports:
58-
- "8545"
59-
- "8546"
60-
networks:
61-
- appchains-network
28+
- VALKEY_URL=redis://valkey:6379
29+
- CHAIN_ID=${APPCHAIN_CHAIN_ID}
30+
depends_on:
31+
- valkey
32+
- maestro
33+
restart: unless-stopped
6234

63-
healthcheck:
64-
image: curlimages/curl:8.13.0
65-
healthcheck:
66-
test: curl -f http://mchain:8546/metrics && curl -f http://seq-ingestor:8546/metrics && curl -f http://set-ingestor:8546/metrics
67-
start_period: 3600s
68-
tty: true
69-
entrypoint: /bin/sh
70-
networks:
71-
- appchains-network
35+
settlement_ingestor:
36+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-chain-ingestor:${SYND_APPCHAINS_VERSION:-v1.0.12}
37+
container_name: settlement_ingestor
38+
env_file:
39+
- .env
40+
command:
41+
- "--db-file=/data/settlement.db"
42+
- "--start-block=${SETTLEMENT_INGESTOR_START_BLOCK:-0}"
43+
- "--ws-urls=${SETTLEMENT_INGESTOR_WS_URLS}"
44+
volumes:
45+
- /mnt/synd-data/settlement:/data
46+
restart: unless-stopped
47+
48+
sequencing_ingestor:
49+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-chain-ingestor:${SYND_APPCHAINS_VERSION:-v1.0.12}
50+
container_name: sequencing_ingestor
51+
env_file:
52+
- .env
53+
command:
54+
- "--db-file=/data/sequencing.db"
55+
- "--start-block=${SEQUENCING_INGESTOR_START_BLOCK:-0}"
56+
- "--ws-urls=${SEQUENCING_INGESTOR_WS_URLS}"
57+
volumes:
58+
- /mnt/synd-data/sequencing:/data
59+
restart: unless-stopped
60+
61+
mchain:
62+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-mchain:${SYND_APPCHAINS_VERSION:-v1.0.12}
63+
container_name: mchain
64+
env_file:
65+
- .env
66+
command:
67+
- "--datadir=/data"
68+
volumes:
69+
- /mnt/synd-data/mchain:/data
70+
restart: unless-stopped
7271

7372
translator:
74-
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-translator:latest
75-
platform: linux/amd64
76-
build:
77-
context: ../../
78-
target: synd-translator
79-
dockerfile: Dockerfile
80-
env_file: .env
73+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-translator:${SYND_APPCHAINS_VERSION:-v1.0.12}
74+
container_name: translator
75+
env_file:
76+
- .env
8177
environment:
82-
APPCHAIN_CHAIN_ID: ${APPCHAIN_CHAIN_ID}
83-
SEQUENCING_CONTRACT_ADDRESS: ${SEQUENCING_CONTRACT_ADDRESS}
84-
ARBITRUM_BRIDGE_ADDRESS: ${ARBITRUM_BRIDGE_ADDRESS}
85-
ARBITRUM_INBOX_ADDRESS: ${ARBITRUM_INBOX_ADDRESS}
86-
SEQUENCING_WS_URL: "ws://seq-ingestor:8545"
87-
SEQUENCING_START_BLOCK: ${SEQUENCING_START_BLOCK}
88-
SETTLEMENT_WS_URL: "ws://set-ingestor:8545"
89-
SETTLEMENT_START_BLOCK: ${SETTLEMENT_START_BLOCK}
90-
MCHAIN_WS_URL: "ws://mchain:8545"
91-
SETTLEMENT_DELAY: "60"
92-
APPCHAIN_RPC_URL: "http://nitro:8547"
78+
- SETTLEMENT_WS_URL=ws://settlement_ingestor:8545
79+
- SEQUENCING_WS_URL=ws://sequencing_ingestor:8545
80+
- MCHAIN_WS_URL=ws://mchain:8545
9381
depends_on:
94-
healthcheck:
95-
condition: service_healthy
96-
networks:
97-
- appchains-network
82+
- settlement_ingestor
83+
- sequencing_ingestor
84+
- mchain
85+
restart: unless-stopped
86+
87+
proposer:
88+
image: ghcr.io/syndicateprotocol/syndicate-appchains/synd-proposer:${SYND_APPCHAINS_VERSION:-v1.0.12}
89+
container_name: proposer
90+
env_file:
91+
- .env
92+
environment:
93+
- APPCHAIN_RPC_URL=http://nitro:8547
94+
restart: unless-stopped
9895

9996
nitro:
100-
image: ghcr.io/syndicateprotocol/nitro/nitro:eigenda-v3.7.6
97+
image: ghcr.io/syndicateprotocol/nitro/nitro:${SYND_NITRO_VERSION:-eigenda-v3.6.4}
98+
container_name: nitro
99+
init: true
100+
restart: always
101+
env_file:
102+
- .env
101103
command:
104+
- "--conf.env-prefix=NITRO"
105+
- "--init.validate-checksum=false"
102106
- "--parent-chain.connection.url=ws://mchain:8545"
103-
- "--http.api=arb,eth,net,web3,txpool,arbtrace,synd"
107+
- "--parent-chain.id=511000"
108+
- "--http.api=arb,eth,net,web3,txpool,arbtrace,debug,synd"
104109
- "--http.addr=0.0.0.0"
105110
- "--http.port=8547"
106-
- "--ws.api=arb,eth,net,web3,txpool,arbtrace,synd"
111+
- "--http.vhosts=*"
112+
- "--http.corsdomain=*"
113+
- "--ws.addr=0.0.0.0"
114+
- "--ws.port=8548"
115+
- "--ws.origins=*"
107116
- "--node.dangerous.disable-blob-reader=true"
108117
- "--node.inbox-reader.check-delay=100ms"
109118
- "--node.staker.enable=false"
110119
- "--node.parent-chain-reader.poll-interval=100ms"
111120
- "--node.parent-chain-reader.old-header-timeout=2540400h"
112121
- "--execution.parent-chain-reader.old-header-timeout=2540400h"
113122
- "--execution.caching.archive=true"
114-
- "--execution.forwarding-target=null"
123+
- "--execution.forwarding-target=http://maestro:8080"
115124
- "--ensure-rollup-deployment=false"
116-
- '--chain.info-json=[{"chain-id":888991,"parent-chain-id":511000,"parent-chain-is-arbitrum":false,"chain-name":"unite-testnet","chain-config":{"homesteadBlock":0,"daoForkBlock":null,"daoForkSupport":true,"eip150Block":0,"eip150Hash":"0x0000000000000000000000000000000000000000000000000000000000000000","eip155Block":0,"eip158Block":0,"byzantiumBlock":0,"constantinopleBlock":0,"petersburgBlock":0,"istanbulBlock":0,"muirGlacierBlock":0,"berlinBlock":0,"londonBlock":0,"clique":{"period":0,"epoch":0},"arbitrum":{"EnableArbOS":true,"AllowDebugPrecompiles":false,"DataAvailabilityCommittee":true,"InitialArbOSVersion":32,"GenesisBlockNum":0,"MaxCodeSize":24576,"MaxInitCodeSize":49152,"InitialChainOwner":"0x6dedc20540fd54348fa0d7b0af2378f5494ab240"},"chainId":888991},"rollup":{"bridge":"0x0000000000000000000000000000000000511000","inbox":"0x0000000000000000000000000000000000511000","sequencer-inbox":"0x0000000000000000000000000000000000511000","rollup":"0x0000000000000000000000000000000000511000","validator-utils":"0x0000000000000000000000000000000000511000","validator-wallet-creator":"0x0000000000000000000000000000000000511000","deployed-at":33385959}}]'
117-
- "--init.url=${SNAPSHOT_URL}"
118-
- "--init.validate-checksum=false"
119-
- "--init.validate-genesis-assertion=false"
120-
- "--metrics"
121-
- "--log-level=trace"
122-
- "--node.data-availability.enable=true"
123-
- "--node.data-availability.rest-aggregator.urls=https://example.com"
124-
- "--node.data-availability.rest-aggregator.enable=true"
125-
126-
depends_on:
127-
healthcheck:
128-
condition: service_healthy
129-
volumes:
130-
- ./data/nitro:/home/user/.arbitrum
131125
ports:
132-
- "8547"
133-
- "6070"
134-
networks:
135-
- appchains-network
136-
137-
networks:
138-
appchains-network:
139-
driver: bridge
126+
- "8545:8547"
127+
- "8548:8548"
128+
volumes:
129+
- /mnt/nitro-data:/home/user/.arbitrum
130+
depends_on:
131+
- mchain

0 commit comments

Comments
 (0)