Skip to content

Instantly share code, notes, and snippets.

@rootulp
Forked from tedder/docker-compose.yml
Last active November 26, 2021 05:45
Show Gist options
  • Save rootulp/4fe3a7e420237a5632f3201faa246ab4 to your computer and use it in GitHub Desktop.
Save rootulp/4fe3a7e420237a5632f3201faa246ab4 to your computer and use it in GitHub Desktop.
helium validator + watchtower (with consensus check) + exporter
# Source: https://gist.github.com/tedder/e40460e92adbff07f6890806e12eb444
# launch: docker-compose up -d
version: "3.7"
services:
validator:
image: quay.io/team-helium/validator:latest-validator-amd64
container_name: validator
init: true
restart: always
ports:
- "2154:2154"
- "8080:8080"
- "127.0.0.1:4467:4467" # jsonrpc
volumes:
- "${HOME}/validator_data/:/var/data"
labels:
"com.centurylinklabs.watchtower.lifecycle.pre-update": >
sh -c 'while [ "$$(miner info in_consensus)" == "true" ]; do echo "in consensus, loop-waiting"; sleep 30; done'
"com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": 43200 # 12hrs should be longer than a validator is in the consensus group.
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
val_watchtower:
image: containrrr/watchtower:latest
container_name: val_watchtower
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: validator miner_exporter # the container name(s) to monitor
environment:
- WATCHTOWER_POLL_INTERVAL=21600 # check for new image every 6 hrs
- WATCHTOWER_LIFECYCLE_HOOKS=true
#- WATCHTOWER_DEBUG=true # uncomment to see watchtower waiting for consensus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment