-
Notifications
You must be signed in to change notification settings - Fork 35
/
docker-compose.yml
88 lines (87 loc) · 2.15 KB
/
docker-compose.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
version: '3.8'
services:
# generate jwt.txt if it's absent
generate-jwt:
image: blastio/openssl
pull_policy: always
volumes:
- $PWD:/blast:rw
command: >
sh -c "[ ! -f /blast/jwt.txt ] && openssl rand -hex 32 | tr -d '\n' > /blast/jwt.txt || exit 0"
# initialise geth db
geth-init:
image: blastio/blast-geth:${NETWORK}
pull_policy: always
volumes:
- $PWD:/blast:rw
entrypoint: /bin/sh
command: >
-c "[ ! -d /blast/${GETH_DATA_DIR}/geth ] && /usr/local/bin/geth init --datadir=/blast/${GETH_DATA_DIR} /blast/${NETWORK}/genesis.json || exit 0"
depends_on:
generate-jwt:
condition: service_completed_successfully
env_file:
- .env
- ${NETWORK}/.config
blast-geth:
image: blastio/blast-geth:${NETWORK}
pull_policy: always
volumes:
- $PWD:/blast
ports:
- "9545:9545"
- "9546:9546"
command: >
--datadir=/blast/${GETH_DATA_DIR}
--http
--http.corsdomain="*"
--http.vhosts="*"
--http.addr=0.0.0.0
--http.port=9545
--http.api=web3,debug,eth,txpool,net,engine
--ws
--ws.addr=0.0.0.0
--ws.port=9546
--ws.origins="*"
--ws.api=debug,eth,txpool,net,engine
--authrpc.addr="0.0.0.0"
--authrpc.port="8551"
--authrpc.vhosts="*"
--authrpc.jwtsecret=/blast/jwt.txt
--syncmode=full
--gcmode=archive
--nodiscover
--maxpeers=0
--rollup.disabletxpoolgossip=true
networks:
- blast-net
env_file:
- .env
- ${NETWORK}/.config
depends_on:
geth-init:
condition: service_completed_successfully
op-node:
image: blastio/blast-optimism:${NETWORK}
pull_policy: always
volumes:
- $PWD:/blast
ports:
- "9003:9003"
command: >
op-node
--l1="$L1_RPC_URL"
--l1.rpckind="$L1_RPC_KIND"
--l2="http://blast-geth:8551"
--l2.jwt-secret=/blast/jwt.txt
--rollup.config="/blast/${NETWORK}/rollup.json"
depends_on:
- blast-geth
networks:
- blast-net
env_file:
- .env
- ${NETWORK}/.config
networks:
blast-net:
driver: bridge