102 lines
3.0 KiB
YAML
102 lines
3.0 KiB
YAML
services:
|
|
|
|
goat-testnet-init:
|
|
image: ghcr.io/goatnetwork/goat-geth:testnet
|
|
pull_policy: always
|
|
entrypoint: ["sh", "-c"]
|
|
command: [ ! -d "/root/.ethereum/geth/chaindata" ] && geth init /genesis/geth.json
|
|
environment:
|
|
- "GETH_STATE_SCHEME=path"
|
|
- "GETH_DB_ENGINE=pebble"
|
|
volumes:
|
|
- goat-testnet:/root/.ethereum
|
|
- ./goat/testnet:/genesis
|
|
|
|
goat-testnet:
|
|
image: ghcr.io/goatnetwork/goat-geth:testnet
|
|
pull_policy: always
|
|
stop_grace_period: 5m
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- goat-testnet-init
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "geth attach --exec eth.blockNumber"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
environment:
|
|
- "GETH_STATE_SCHEME=path"
|
|
- "GETH_DB_ENGINE=pebble"
|
|
command:
|
|
- --http
|
|
- --http.api=eth,net,web3
|
|
- --http.addr=0.0.0.0
|
|
- --http.vhosts=*
|
|
- --http.corsdomain=*
|
|
- --ws
|
|
- --ws.addr=0.0.0.0
|
|
- --ws.port=8545
|
|
- --ws.origins=*
|
|
- --metrics
|
|
- --metrics.addr=0.0.0.0
|
|
- --metrics.port=6060
|
|
- --syncmode=full
|
|
- --port=18141
|
|
- --bootnodes=enode://0d41d098846751f0f90ea66e4d7e6741591e9c4bfb6e75d14f78ca3702415fb795adad64b2805f428c86f6ae2ee5315322301e02c63c917f92756a909679599e@52.12.249.134:30303
|
|
expose:
|
|
- 8545
|
|
- 6060
|
|
ports:
|
|
- "18141:18141"
|
|
- "18141:18141/udp"
|
|
volumes:
|
|
- "goat-testnet:/root/.ethereum"
|
|
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-init:
|
|
image: ghcr.io/goatnetwork/goat:testnet
|
|
pull_policy: always
|
|
entrypoint: ["sh", "-c"]
|
|
command: [ ! -f /goat/config/genesis.json ] && goatd init --home /goat testnet && cp /genesis/goat.json /goat/config/genesis.json
|
|
volumes:
|
|
- goat-testnet-node:/goat
|
|
- ./goat/testnet:/genesis
|
|
|
|
|
|
goat-testnet-node:
|
|
image: ghcr.io/goatnetwork/goat:testnet
|
|
pull_policy: always
|
|
stop_grace_period: 30s
|
|
restart: unless-stopped
|
|
command:
|
|
- --home
|
|
- /goat
|
|
- --goat.geth
|
|
- /geth/geth.ipc
|
|
- --api.enable
|
|
- --api.address=tcp://0.0.0.0:1317
|
|
- --p2p.persistent_peers
|
|
- c9befb6b8421b46ec5cda76171a8cf7539af20fc@52.12.249.134:26656
|
|
volumes:
|
|
- "goat-testnet-node:/goat"
|
|
- "goat-testnet:/geth"
|
|
depends_on:
|
|
goat-testnet:
|
|
condition: service_healthy
|
|
goat-testnet-node-init:
|
|
networks:
|
|
- chains
|
|
|
|
volumes:
|
|
goat-testnet:
|
|
goat-testnet-node:
|