version: '3.4' # The erigon db can be downloaded from # https://boba-db.s3.us-east-2.amazonaws.com/mainnet/boba-mainnet-erigon-db-1149019.tgz # and extracted to the DATA_DIR # The jwt-secret.txt file should be a random string of32 characters and should be kept secret. # The p2p-node-key.txt is the private key used for the node to identify itself. # The discovery and peerstore directories are used to store the peerstore and discovery data. # boba is part of the superchain registry and knows it's overrides services: op-boba: image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-erigon:${BOBAETH_ERIGON_VERSION:-v1.2.11} user: root command: | --datadir=/db --port=4487 --nat=stun --chain=boba-mainnet --http.addr=0.0.0.0 --http.port=9545 --http.compression=true --ws.port=9545 --ws.compression=true --ws --http.corsdomain=* --http.vhosts=* --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.vhosts=* --authrpc.jwtsecret=/jwtsecret --http.api=eth,debug,net,engine,web3 --txpool.gossip.disable=true --rollup.sequencerhttp=https://mainnet.boba.network --db.size.limit=8TB ports: - "4487:4487" - "4487:4487/udp" expose: - 9545 - 8551 volumes: - .jwtsecret:/jwtsecret - boba-mainnet:/db networks: - chains labels: - "traefik.enable=true" - "traefik.http.middlewares.boba-stripprefix.stripprefix.prefixes=/bobaeth" - "traefik.http.services.boba.loadbalancer.server.port=9545" - "traefik.http.routers.boba.entrypoints=websecure" - "traefik.http.routers.boba.tls.certresolver=myresolver" - "traefik.http.routers.boba.rule=Host(`$DOMAIN`) && PathPrefix(`/bobaeth`)" - "traefik.http.routers.boba.middlewares=boba-stripprefix, ipwhitelist" op-boba-node: depends_on: - op-boba image: us-docker.pkg.dev/boba-392114/bobanetwork-tools-artifacts/images/op-node:${BOBAETH_NODE_VERSION:-v1.6.15} command: > op-node --l2=http://op-boba:8551 --l2.jwt-secret=/jwtsecret --network=boba-mainnet --rpc.addr=0.0.0.0 --rpc.port=8545 # --plasma.enabled=false # Optional flags # These flags are optional and can be used to identify the node and store the peerstore and discovery data. # We recommend adding these flags to your configuration to help identify your node and store the peerstore and discovery data. # --p2p.ban.peers=false # --p2p.priv.path=/config/p2p-node-key.txt # --p2p.discovery.path=/p2p_discovery_db # --p2p.peerstore.path=/p2p_peerstore_db environment: - "OP_NODE_P2P_LISTEN_TCP_PORT=45202" - "OP_NODE_L1_RPC_KIND=${BOBA_ETHEREUM_ENDPOINT_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${BOBA_ETHEREUM_ENDPOINT_TRUST:-false}" - "OP_NODE_L1_BEACON=${BOBA_ETHEREUM_ENDPOINT_BEACON}" - "OP_NODE_L1_BEACON_ARCHIVER=${BOBA_MAINNET_L1_BEACON_ARCHIVER}" - "OP_NODE_L1_ETH_RPC=${BOBA_ETHEREUM_ENDPOINT}" #- "OP_NODE_OVERRIDE_CANYON=1704992401" #- "OP_NODE_OVERRIDE_DELTA=1708560000" #- "OP_NODE_OVERRIDE_ECOTONE=1713302880" #- "OP_NODE_OVERRIDE_FJORD=1720627201" ports: - "45202:45202" - "45202:45202/udp" networks: - chains volumes: - .jwtsecret:/jwtsecret # - ./p2p-node-key.txt:/config/p2p-node-key.txt # - ./discovery:/p2p_discovery_db # - ./peerstore:/p2p_peerstore_db restart: always volumes: boba-mainnet: