diff --git a/fuse-mainnet-nethermind-archive.yml b/fuse-mainnet-nethermind-archive.yml new file mode 100644 index 00000000..896e6a9c --- /dev/null +++ b/fuse-mainnet-nethermind-archive.yml @@ -0,0 +1,83 @@ +version: '3.1' + +# get the latest version tag from https://raw.githubusercontent.com/fuseio/fuse-network/master/Version +# DOCKER_IMAGE_NM_CLIENT + +services: + + fuse-mainnet-nethermind-archive-health: + depends_on: + - fuse-mainnet-nethermind-archive + build: + context: ./check-health/ + dockerfile: Dockerfile + environment: + - RPC_URL=http://fuse-mainnet-nethermind-archive:8545 + - REF_URL=https://fuse-pokt.nodies.app # optional + - CHECK_INTERVAL=30 # in seconds + volumes: + - .:/repo:ro + - fuse-mainnet-nethermind-archive-health:/health:rw + networks: + - chains + + fuse-mainnet-nethermind-archive: + image: fusenet/node:nethermind-1.28.0-v6.0.3 + healthcheck: + test: ["CMD", "sh", "-c", "while read -r status; do [ \"$$status\" = \"online\" -o \"$$status\" = \"lagging\" ] && exit 0; done < /health/status; exit 1"] + interval: 30s + timeout: 1s + retries: 1 + expose: + - "3041" + - "8545" + - "8546" + ports: + - "3041:3041/tcp" + - "3041:3041/udp" + volumes: + - fuse-mainnet-nethermind-archive-keystore:/nethermind/keystore + - fuse-mainnet-nethermind-archive-logs:/nethermind/logs + - ${FUSE_MAINNET_NETHERMIND_ARCHIVE_DB_DATA:-fuse-mainnet-nethermind-archive-db}:/nethermind/nethermind_db + - fuse-mainnet-nethermind-archive-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=3041 + - NETHERMIND_NETWORKCONFIG_DISCOVERYPORT=3041 + - 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 + - NETHERMIND_PRUNINGCONFIG_MODE=None + networks: + - chains + restart: unless-stopped + command: --Init.WebSocketsEnabled true + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.fuse-mainnet-nethermind-archive-stripprefix.stripprefix.prefixes=/fuse-mainnet-nethermind-archive" + - "traefik.http.services.fuse-mainnet-nethermind-archive.loadbalancer.server.port=8545" + - "traefik.http.routers.fuse-mainnet-nethermind-archive.entrypoints=websecure" + - "traefik.http.routers.fuse-mainnet-nethermind-archive.tls.certresolver=myresolver" + - "traefik.http.routers.fuse-mainnet-nethermind-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/fuse-mainnet-nethermind-archive`)" + - "traefik.http.routers.fuse-mainnet-nethermind-archive.middlewares=fuse-mainnet-nethermind-archive-stripprefix, ipwhitelist" + - "prometheus-scrape.enabled=true" + - "prometheus-scrape.port=3000" + - "prometheus-scrape.job_name=fuse-mainnet-nethermind-archive" + +volumes: + fuse-mainnet-nethermind-archive-keystore: + fuse-mainnet-nethermind-archive-logs: + fuse-mainnet-nethermind-archive-db: + fuse-mainnet-nethermind-archive-health: