# 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: > 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: