version: '3.8' services: besu-rpc: image: hyperledger/besu:23.10.0 container_name: besu-rpc restart: unless-stopped volumes: - ./data:/data - ./config:/config - ./logs:/logs ports: - "8545:8545" # RPC HTTP - "8546:8546" # WebSocket - "9545:9545" # Metrics command: - /opt/besu/bin/besu - --config-file=/config/besu-config.toml environment: - BESU_OPTS=-Xmx8g -Xms8g networks: - besu-network logging: driver: "json-file" options: max-size: "10m" max-file: "3" healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9545/metrics"] interval: 30s timeout: 10s retries: 3 start_period: 120s deploy: resources: limits: cpus: '8' memory: 16G reservations: cpus: '4' memory: 8G networks: besu-network: driver: bridge