# A working Docker Compose configuration file that starts a working hub. # # See https://www.thehubble.xyz/intro/install.html#installing-hubble for full # instructions. version: '3.9' services: hubble: image: farcasterxyz/hubble:latest restart: unless-stopped command: [ "node", "--no-warnings", "build/cli.js", "start", "--ip", "0.0.0.0", "--gossip-port", "2282", "--rpc-port", "2283", "--eth-mainnet-rpc-url", "$ETH_MAINNET_RPC_URL", "--l2-rpc-url", "$OPTIMISM_L2_RPC_URL", "--network", "${FC_NETWORK_ID:-1}", "-b", "${BOOTSTRAP_NODE:-/dns/nemes.farcaster.xyz/tcp/2282}", "--statsd-metrics-server", "$STATSD_METRICS_SERVER" ] ports: - '2282:2282' # Gossip - '2283:2283' # RPC volumes: - ./.hub:/home/node/app/apps/hubble/.hub - ./.rocks:/home/node/app/apps/hubble/.rocks networks: - my-network logging: driver: "json-file" options: max-size: "1g" max-file: "2" # Start if you want to expose your hub over grpc-web (for browser clients) envoy: image: envoyproxy/envoy:v1.26.1 depends_on: - hubble ports: - '2285:2285' volumes: - ./envoy/envoy.yaml:/etc/envoy/envoy.yaml networks: - my-network # Start this if you want perf metrics for your hubble node. Remember to start `grafana` as well. statsd: image: graphiteapp/graphite-statsd:1.1.10-5 restart: unless-stopped ports: # - '80:80' # Graphite web # - '2003:2003' # Carbon line receiver # - '2004:2004' # Carbon pickle receiver # - '7002:7002' # Carbon cache query - '8125:8125/udp' # StatsD - '8126:8126' # StatsD admin networks: - my-network # Start this if you want to see perf metrics for your hubble node. Remember to start `statsd` as well. grafana: image: grafana/grafana:10.0.3 restart: unless-stopped # Mount the grafana config file volumes: - ./grafana/grafana.ini:/etc/grafana/grafana.ini ports: - '3000:3000' # Grafana web networks: - my-network networks: my-network: