services: goat-testnet: image: ghcr.io/goatnetwork/goat-geth:v0.1.7 stop_grace_period: 5m restart: unless-stopped healthcheck: test: ["CMD-SHELL", "geth attach --exec eth.blockNumber"] interval: 5s timeout: 5s retries: 5 environment: - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_DISCOVERY_PORT=18141" - "GETH_PORT=18141" - "GETH_HTTP=true" - "GETH_HTTP_ADDR=0.0.0.0" - "GETH_HTTP_API=web3,eth,admin,net" - "GETH_HTTP_VHOSTS=*" - "GETH_WS=true" - "GETH_WS_ADDR=0.0.0.0" - "GETH_WS_API=web3,eth,net,admin" - "GETH_WS_ORIGINS=*" - "GETH_WS_PORT=8545" - "GETH_NAT=extip:${IP}" - "GETH_SYNCMODE=full" # - "GETH_BOOTNODES=enode://0d41d098846751f0f90ea66e4d7e6741591e9c4bfb6e75d14f78ca3702415fb795adad64b2805f428c86f6ae2ee5315322301e02c63c917f92756a909679599e@52.12.249.134:30303" entrypoint: /entrypoint.sh expose: - 8545 - 6060 ports: - "18141:18141" - "18141:18141/udp" volumes: - "goat-testnet:/root/.ethereum" # - ./goat/testnet:/genesis - ./goat/testnet3/geth-entrypoint.sh:/entrypoint.sh labels: - "traefik.enable=true" - "traefik.http.middlewares.goat-testnet-stripprefix.stripprefix.prefixes=/goat-testnet" - "traefik.http.services.goat-testnet.loadbalancer.server.port=8545" - "traefik.http.routers.goat-testnet.entrypoints=websecure" - "traefik.http.routers.goat-testnet.tls.certresolver=myresolver" - "traefik.http.routers.goat-testnet.rule=Host(`$DOMAIN`) && PathPrefix(`/goat-testnet`)" - "traefik.http.routers.goat-testnet.middlewares=goat-testnet-stripprefix, ipwhitelist" networks: - chains goat-testnet-node: image: ghcr.io/goatnetwork/goat:v0.2.3 stop_grace_period: 30s restart: unless-stopped entrypoint: /entrypoint.sh environment: - "IP=${IP}" volumes: - "goat-testnet-node:/goat" - "goat-testnet:/geth" # - ./goat/testnet:/genesis - ./goat/testnet3/node-entrypoint.sh:/entrypoint.sh depends_on: goat-testnet: condition: service_healthy networks: - chains volumes: goat-testnet: goat-testnet-node: