# This compose file defines an Aptos Fullnode deployment. # Read the README.md files for instruction on how to install aptos-node version: "3.8" services: haproxy: image: haproxytech/haproxy-debian:2.2.29 volumes: - type: bind source: ./haproxy-fullnode.cfg target: /usr/local/etc/haproxy/haproxy.cfg - type: bind source: ./blocked.ips target: /usr/local/etc/haproxy/blocked.ips networks: - shared expose: # Public fullnode access - 6182 # REST API - 8080 # Fullnode metrics - 9101 # Haproxy stats page - 9102 ports: - "6182:6182" - "8080:8080" # Only expose these internally - "127.0.0.1:9101:9101" - "127.0.0.1:9102:9102" fullnode: image: "${VALIDATOR_IMAGE_REPO:-aptoslabs/validator}:${IMAGE_TAG:-testnet}" networks: shared: volumes: - type: volume source: aptos-fullnode target: /opt/aptos/data - type: bind source: ./fullnode.yaml target: /opt/aptos/etc/fullnode.yaml - type: bind source: ./genesis.blob target: /opt/aptos/genesis/genesis.blob - type: bind source: ./waypoint.txt target: /opt/aptos/genesis/waypoint.txt - type: bind source: ./keys/validator-full-node-identity.yaml target: /opt/aptos/genesis/validator-full-node-identity.yaml command: ["/usr/local/bin/aptos-node", "-f", "/opt/aptos/etc/fullnode.yaml"] restart: unless-stopped expose: # Public fullnode access - 6182 # REST API - 8080 # Validator metrics - 9101 networks: shared: name: "aptos-docker-compose-shared" ipam: config: - subnet: 172.16.1.0/24 volumes: aptos-fullnode: name: aptos-fullnode