version: '3.8' services: # Real Geth (Execution Layer) # Running in dev mode for testing Engine API geth: image: ethereum/client-go:v1.14.11 command: - --dev - --dev.period=12 - --http - --http.addr=0.0.0.0 - --http.api=eth,net,web3,debug,engine,txpool - --http.vhosts=* - --http.corsdomain=* - --authrpc.addr=0.0.0.0 - --authrpc.port=8551 - --authrpc.vhosts=* - --authrpc.jwtsecret=/etc/geth/jwt.hex volumes: - ./configs/jwt.hex:/etc/geth/jwt.hex ports: - "8545:8545" # FOCIL EL Proxy (Intercepts engine_getInclusionListV1) el-proxy: build: context: . dockerfile: Dockerfile.proxy image: dvt-focil-el-proxy:latest depends_on: - geth expose: - "8551" node-0: build: . image: dvt-focil-node:latest volumes: - ./configs/node0.yaml:/etc/dvt-focil/config.yaml - ./configs/jwt.hex:/etc/dvt-focil/jwt.hex environment: - NODE_ID=0 - RUST_LOG=info depends_on: - el-proxy - geth node-1: build: . image: dvt-focil-node:latest volumes: - ./configs/node1.yaml:/etc/dvt-focil/config.yaml - ./configs/jwt.hex:/etc/dvt-focil/jwt.hex environment: - NODE_ID=1 - RUST_LOG=info depends_on: - el-proxy - geth