services:
  thor-solo:
    image: vechain/thor:latest
    hostname: thor-solo
    container_name: thor-solo
    user: root
    ports:
      - 8669:8669
    command:
      - solo
      - --on-demand # create new block when there is pending transaction
      - --api-addr=0.0.0.0:8669 # Enable remote connections
      - --api-cors=* # comma separated list of domains to accept cross origin requests to API
      - --gas-limit=10000000000000 # block gas limit
      - --api-call-gas-limit=10000000000000 # limit contract call gas
      - --txpool-limit=100000000000 # limit txpool size
      - --txpool-limit-per-account=256 # limit txpool size per account
      - --cache=1024 # megabytes of ram allocated to trie nodes cache
      - --data-dir=/data/thor # data directory
      - --verbosity=9
      - --persist

    healthcheck:
      # We run the health check using standard UNIX tools so we don't have to
      # install additional dependencies in the container.
      test: wget -O- http://localhost:8669/blocks/0
      interval: 5s
      timeout: 10s
      retries: 10
    networks:
      - vechain-thor


networks:
  vechain-thor:
    driver: bridge
    name: vechain-thor