80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
|
|
# From: https://raw.githubusercontent.com/blast-io/deployment/master/docker-compose.yml
|
|
services:
|
|
# generate jwt.txt if it's absent
|
|
generate-jwt:
|
|
image: blastio/openssl
|
|
volumes:
|
|
- blast-data:/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:-mainnet}
|
|
volumes:
|
|
- blast-data:/blast:rw
|
|
entrypoint: /bin/sh
|
|
command: >
|
|
-c "[ ! -d /blast/${GETH_DATA_DIR:-blast-geth-data}/geth ] && /usr/local/bin/geth init --datadir=/blast/${GETH_DATA_DIR:-blast-geth-data} /blast/genesis.json || exit 0"
|
|
depends_on:
|
|
generate-jwt:
|
|
condition: service_completed_successfully
|
|
env_file:
|
|
- ../config/blast/${NETWORK:-mainnet}.config
|
|
blast-geth:
|
|
image: blastio/blast-geth:${NETWORK:-mainnet}
|
|
volumes:
|
|
- blast-data:/blast
|
|
ports:
|
|
- "9545"
|
|
- "9546"
|
|
command: >
|
|
--datadir=/blast/${GETH_DATA_DIR:-blast-geth-data}
|
|
--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
|
|
env_file:
|
|
- ../config/blast/${NETWORK:-mainnet}.config
|
|
depends_on:
|
|
geth-init:
|
|
condition: service_completed_successfully
|
|
op-node:
|
|
image: blastio/blast-optimism:${NETWORK:-mainnet}
|
|
volumes:
|
|
- blast-data:/blast
|
|
- ../config/blast/genesis.json:/blast/genesis.json
|
|
- ../config/blast/rollup.json:/blast/rollup.json
|
|
ports:
|
|
- "9003"
|
|
command: >
|
|
sh -c "pwd; ls /blast -lah; head /blast/genesis.json; exec op-node
|
|
--l1='https://eth-mainnet-1.vdb.to/'
|
|
--l1.rpckind='any'
|
|
--l2='http://blast-geth:8551'
|
|
--l2.jwt-secret=/blast/jwt.txt
|
|
--rollup.config='/blast/rollup.json'"
|
|
depends_on:
|
|
- blast-geth
|
|
env_file:
|
|
- ../config/blast/${NETWORK:-mainnet}.config
|
|
|
|
volumes:
|
|
blast-data:
|