Files
ethereum-rpc-docker/op-boba.yml
Sebastian 69d097f488 update
2024-08-28 11:59:50 +02:00

104 lines
3.6 KiB
YAML

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:v1.2.0
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:v1.6.8
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: