version: '3.8'

services:
  op-geth-minato:
    image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101511.0
    entrypoint: >
      geth --datadir=/data/optimism --http --http.corsdomain=* --http.vhosts=* 
      --http.addr=0.0.0.0 --http.api=web3,debug,eth,txpool,net,engine --ws 
      --ws.addr=0.0.0.0 --ws.port=8546 --ws.origins=* --ws.api=debug,eth,txpool,net,engine 
      --syncmode=full --gcmode=archive --maxpeers=100 --authrpc.vhosts=* 
      --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.jwtsecret=/etc/optimism/jwt.txt --metrics 
      --metrics.addr=0.0.0.0 --metrics.expensive --metrics.port=6060 
      --rollup.disabletxpoolgossip=false --rpc.allow-unprotected-txs=true --db.engine=pebble --state.scheme=hash 
      --port=30303 
      --bootnodes=enode://f53a64d8f2214b0232ec0e2d8289a607bd744e074e17d2ce20409853d471e1029121ad402d0181a30a419dd700990c0eabcf29e5f1e5965fbb280ae455e3a04d@35.73.242.33:30303,enode://ac0f20823cddaa26a3d564f1e370bbf73e83a28060a04a7a28f907885e5795f234bcdc2503227d844a1df38d1152a57e3544e4cc31855b1f6c11da3cb1933eee@52.198.241.245:30303,enode://dfb087b48678df8bc1c0a285cacbd7406bed8c0dd012b1587e8964b8eb64bf02715c46d880e84ab4275aa4a88a78148c83df5271e5b9be00601f4179c44cb215@43.206.70.42:30303
      --op-network=soneium-minato-sepolia
    ports:
      - "8551:8551"
      - "6060:6060"
      - "8545:8545"
      - "8546:8546"
      - "30303:30303" 
    volumes:
      - op-geth-storage:/data/optimism
      - ./jwt.txt:/etc/optimism/jwt.txt
      - op-secrets:/etc/minato/secrets
    networks:
      - minato

  op-node-minato:
    image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.13.3
    environment:
      - L1_URL
      - L2_URL
      - RPC_ADDR
      - RPC_PORT
      - L2_JWT_SECRET
      - L1_TRUST_RPC
      - L1_BEACON
      - SYNC_MODE
      - L1_RPC_KIND
      - OP_NODE_STATIC_PEERS
      - P2P_PRIV_PATH
      - P2P_DISCOVERY_PATH
      - P2P_PEERSTORE_PATH
      - P2P_ADVERTISE_IP
      - OP_NODE_P2P_PEER_BANNING
      - METRICS_ENABLED
      - METRICS_PORT
    command: >
      op-node --l1=${L1_URL} --l2=${L2_URL} --rpc.addr=${RPC_ADDR} --rpc.port=${RPC_PORT}
      --l2.jwt-secret=${L2_JWT_SECRET} --l1.trustrpc=${L1_TRUST_RPC} --l1.beacon=${L1_BEACON}
      --syncmode=${SYNC_MODE} --l1.rpckind=${L1_RPC_KIND} --p2p.static=${OP_NODE_STATIC_PEERS}
      --p2p.priv.path=${P2P_PRIV_PATH} --p2p.discovery.path=${P2P_DISCOVERY_PATH} 
      --p2p.peerstore.path=${P2P_PEERSTORE_PATH} --metrics.enabled=${METRICS_ENABLED}
      --p2p.ban.peers=${OP_NODE_P2P_PEER_BANNING}
      --p2p.bootnodes=enr:-J24QOzJnq0BV79JwlexNTBZXmEFWxxP-JQp3Lad8Br0SM1KUeOltWy9Z0mR_CPqYzVGuX95KyJZDe_uCt7iNuBnscWGAZf89XM9gmlkgnY0gmlwhCNJ8iGHb3BzdGFja4OaDwCJc2VjcDI1NmsxoQINnwHn2vtHqtZgiPKYMZuiJ-jOgWhoREBa-r4NL8b-xoN0Y3CCJAaDdWRwgiQH,enr:-J24QLoflNXo1wsrOYRwIwPy2V1PiB_BwC39FS2sOJnwm5lSToJds9spyH7AEwVmy4eb5-ds0hPkm4VDdCnMcTxSqoyGAZgNxgFQgmlkgnY0gmlwhDTG8fWHb3BzdGFja4OaDwCJc2VjcDI1NmsxoQJNiQjrvc-8N_3QrMAkAHhnzuWoKWx55Z6gwC6k5n-3IIN0Y3CCJAaDdWRwgiQH,enr:-J24QEyhCbc09o33YMjzuNZL8PUBu-k2sEfGY6ehAGiLGn3ELNsKFE_X7oRIDsbwtPNFR_Lx_byKLw55xeBVymGlvE6GAZgNynMMgmlkgnY0gmlwhCvORiqHb3BzdGFja4OaDwCJc2VjcDI1NmsxoQIWdCZ9J8LlNoGRnKsP1SUESUxyEzDfMm1dMu5jVmrYuIN0Y3CCJAaDdWRwgiQH
      --metrics.port=${METRICS_PORT}
      --network=soneium-minato-sepolia
    ports:
      - "9545:9545"
      - "7310:7310"
      - "9222:9222"
    volumes:
      - op-node-storage:/data/optimism
      - ./jwt.txt:/etc/optimism/jwt.txt
      - op-secrets:/etc/minato/secrets
    networks:
      - minato

volumes:
  op-geth-storage:
  op-node-storage:
  op-secrets:

networks:
  minato:
    driver: bridge

