version: '3.1' # get the latest version tag from https://raw.githubusercontent.com/fuseio/fuse-network/master/Version # DOCKER_IMAGE_NM_CLIENT services: fuse-health-checker: depends_on: - fuse-nethermind build: context: ./check-health/ dockerfile: Dockerfile environment: - RPC_URL=http://fuse-nethermind:8545 - REF_URL=https://fuse-pokt.nodies.app # optional - CHECK_INTERVAL=30 # in seconds volumes: - .:/repo:ro - fuse-nethermind-health:/health:rw networks: - chains fuse-nethermind: image: fusenet/node:nethermind-1.25.4-v6.0.2 healthcheck: test: ["CMD", "cat", "/health/status", "|", "grep", "-q", "online"] interval: 30s timeout: 1s retries: 3 expose: - "35045" - "8545" - "8546" ports: - "35045:35045/tcp" - "35045:35045/udp" volumes: - fuse-nethermind-keystore:/nethermind/keystore - fuse-nethermind-logs:/nethermind/logs - fuse-nethermind-db:/nethermind/nethermind_db - fuse-nethermind-health:/health:ro - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: - NETHERMIND_CONFIG=fuse - NETHERMIND_JSONRPCCONFIG_ENABLED=true - NETHERMIND_JSONRPCCONFIG_ENABLEDMODULES=[Eth,Subscribe,TxPool,Web3,Net,Parity,Health,Rpc,Debug,Admin] - NETHERMIND_JSONRPCCONFIG_HOST=0.0.0.0 - NETHERMIND_METRICSCONFIG_EXPOSEPORT=9091 - NETHERMIND_NETWORKCONFIG_P2PPORT=35045 - NETHERMIND_NETWORKCONFIG_DISCOVERYPORT=35045 - NETHERMIND_NETWORKCONFIG_MAXACTIVEPEERS=250 - NETHERMIND_JSONRPCCONFIG_PORT=8545 - NETHERMIND_JSONRPCCONFIG_WEBSOCKETSPORT=8545 - NETHERMIND_SYNCCONFIG_FASTSYNC=true - NETHERMIND_SYNCCONFIG_SNAPSYNC=false - NETHERMIND_SYNCCONFIG_FASTBLOCKS=true - NETHERMIND_SYNCCONFIG_DOWNLOADBODIESINFASTSYNC=true - NETHERMIND_SYNCCONFIG_DOWNLOADRECEIPTSINFASTSYNC=true - NETHERMIND_SYNCCONFIG_USEGETHLIMITSINFASTBLOCKS=false networks: - chains restart: unless-stopped command: --Init.WebSocketsEnabled true labels: - "traefik.enable=true" - "traefik.http.middlewares.fuse-stripprefix.stripprefix.prefixes=/fuse" - "traefik.http.services.fuse.loadbalancer.server.port=8545" - "traefik.http.routers.fuse.entrypoints=websecure" - "traefik.http.routers.fuse.tls.certresolver=myresolver" - "traefik.http.routers.fuse.rule=Host(`$DOMAIN`) && PathPrefix(`/fuse`)" - "traefik.http.routers.fuse.middlewares=fuse-stripprefix, ipwhitelist" - "prometheus-scrape.enabled=true" - "prometheus-scrape.port=3000" - "prometheus-scrape.job_name=fuse-nethermind" volumes: fuse-nethermind-keystore: fuse-nethermind-logs: fuse-nethermind-db: fuse-nethermind-health: