11services :
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