version: '3'

services:
  leap-node:
    entrypoint: node
    command:
      - --inspect=0.0.0.0:9999
      - /opt/leap-node/bin.js
    restart: unless-stopped
    build:
      context: .
      dockerfile: Dockerfile
    image: quay.io/leapdao/leap-node:latest
    volumes:
      - leap-node:/root
    ports:
      # ATTENTION:
      #   if you are going to run this on an untrusted network,
      #   you may want to guard the rpc/ws ports.
      # rpc
      - "8645:8645"
      # ws
      - "8646:8646"
      # proxy_app
      - "127.0.0.1:26659:26659"
      # p2p
      - "46691:46691"
      # devtools-protocol
      - "127.0.0.1:9999:9999"
    environment:
      - "DEBUG=${DEBUG}"
      - "NO_VALIDATORS_UPDATES=${NO_VALIDATORS_UPDATES}"
      - "CONFIG_URL=${CONFIG_URL}"
      - "NETWORK=${NETWORK}"
      - "PRIVATE_KEY=${PRIVATE_KEY}"
      - "UNSAFE_RPC=${UNSAFE_RPC}"
    stdin_open: true
    tty: true
    deploy:
      replicas: 1
      resources:
        limits:
          memory: 2048M
        reservations:
          memory: 512M

volumes:
  leap-node:
