generated from jakim929/dapp-starter-with-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.devnet.yaml
82 lines (76 loc) · 2.75 KB
/
docker-compose.devnet.yaml
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
version: '3.4'
services:
anvil:
image: ghcr.io/foundry-rs/foundry
restart: unless-stopped
container_name: anvil
environment:
- ANVIL_IP_ADDR=0.0.0.0
command: ['anvil --block-time 2 --chain-id $CHAIN_ID']
ports:
- "8545:8545"
healthcheck:
test: "cast block-number --rpc-url http://0.0.0.0:8545"
interval: 3s
timeout: 2s
anvil-setup:
image: jakim929/aa-playground:anvil-setup-latest
container_name: anvil-setup
environment:
- RPC_URL=http://anvil:8545
- DEPLOYER_EOA_PRIVATE_KEY=$DEPLOYER_EOA_PRIVATE_KEY
- ENTRYPOINT_CONTRACT_ADDRESS=$ENTRYPOINT_CONTRACT_ADDRESS
depends_on:
anvil:
condition: service_healthy
restart: "no"
bundler-reverse-proxy-nginx:
image: jakim929/aa-playground:bundler-reverse-proxy-latest
container_name: bundler-reverse-proxy
ports:
- "3010:80"
depends_on:
anvil:
condition: service_healthy
skandha-bundler:
condition: service_healthy
transeptor-bundler:
condition: service_healthy
skandha-bundler:
image: jakim929/aa-playground:skandha-latest
container_name: skandha-bundler
entrypoint: ["sh", "-c", "echo '{\"networks\":{\"dev\":{\"entryPoints\":[\"$ENTRYPOINT_CONTRACT_ADDRESS\"],\"relayer\":\"$BUNDLER_EOA_PRIVATE_KEY\",\"beneficiary\":\"$BUNDLER_EOA_ADDRESS\",\"rpcEndpoint\":\"http://anvil:8545\",\"minInclusionDenominator\":10,\"throttlingSlack\":10,\"banSlack\":10}}}' > /usr/app/config.json && node ./packages/cli/bin/skandha standalone"]
healthcheck:
test: >
wget --header='Content-Type: application/json' --no-verbose --tries=1 --output-document=- --spider --post-data='{"jsonrpc":"2.0","id":"1","method":"eth_chainId","params":[]}' http://localhost:14337/$CHAIN_ID || exit 1
interval: 3s
timeout: 3s
retries: 3
start_period: 10s
depends_on:
anvil-setup:
condition: service_completed_successfully
transeptor-bundler:
image: jakim929/aa-playground:transeptor-bundler-latest
container_name: transeptor-bundler
environment:
- MNEMONIC=$BUNDLER_EOA_MNEMONIC
- BENEFICIARY=$BUNDLER_EOA_ADDRESS
command: >
--port 4000
--network http://anvil:8545
--txMode base
--httpApi web3,eth,debug
--auto
--autoBundleInterval 12000
--unsafe
healthcheck:
test: >
wget --header='Content-Type: application/json' --no-verbose --tries=1 --output-document=- --spider --post-data='{"jsonrpc":"2.0","id":"1","method":"eth_chainId","params":[]}' http://localhost:4000/rpc || exit 1
interval: 3s
timeout: 3s
retries: 3
start_period: 10s
depends_on:
anvil-setup:
condition: service_completed_successfully