version: '3.2'

services:
  # Builds and serves the MobyMask react-app
  mobymask-app:
    restart: unless-stopped
    image: cerc/mobymask-ui:local
    env_file:
      - ../config/watcher-mobymask-v2/mobymask-params.env
    environment:
      CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
      CERC_CHAIN_ID: ${CERC_CHAIN_ID}
      CERC_DEPLOYED_CONTRACT: ${CERC_DEPLOYED_CONTRACT}
      CERC_APP_WATCHER_URL: ${CERC_APP_WATCHER_URL}
      CERC_RELAY_NODES: ${CERC_RELAY_NODES}
      CERC_DENY_MULTIADDRS: ${CERC_DENY_MULTIADDRS}
      CERC_RELEASE: "v0.1.5"
      CERC_USE_NPM: true
      CERC_CONFIG_FILE: "src/config.json"
    working_dir: /scripts
    command: ["sh", "mobymask-app-start.sh"]
    volumes:
      - ../config/watcher-mobymask-v2/mobymask-app-start.sh:/scripts/mobymask-app-start.sh
      - ../config/watcher-mobymask-v2/mobymask-app-config.json:/app/src/mobymask-app-config.json
      - peers_ids:/peers
      - mobymask_deployment:/server
    ports:
      - "127.0.0.1:3002:80"
    healthcheck:
      test: ["CMD", "nc", "-vz", "localhost", "80"]
      interval: 20s
      timeout: 5s
      retries: 15
      start_period: 10s
    extra_hosts:
      - "host.docker.internal:host-gateway"

  # Builds and serves the LXDAO version of MobyMask react-app
  lxdao-mobymask-app:
    restart: unless-stopped
    image: cerc/mobymask-ui:local
    env_file:
      - ../config/watcher-mobymask-v2/mobymask-params.env
    environment:
      CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
      CERC_CHAIN_ID: ${CERC_CHAIN_ID}
      CERC_DEPLOYED_CONTRACT: ${CERC_DEPLOYED_CONTRACT}
      CERC_APP_WATCHER_URL: ${CERC_APP_WATCHER_URL}
      CERC_RELAY_NODES: ${CERC_RELAY_NODES}
      CERC_DENY_MULTIADDRS: ${CERC_DENY_MULTIADDRS}
      CERC_RELEASE: "v0.1.5-lxdao-0.1.1"
      CERC_USE_NPM: false
      CERC_CONFIG_FILE: "src/utils/config.json"
    working_dir: /scripts
    command: ["sh", "mobymask-app-start.sh"]
    volumes:
      - ../config/watcher-mobymask-v2/mobymask-app-start.sh:/scripts/mobymask-app-start.sh
      - ../config/watcher-mobymask-v2/mobymask-app-config.json:/app/src/mobymask-app-config.json
      - peers_ids:/peers
      - mobymask_deployment:/server
    ports:
      - "127.0.0.1:3004:80"
    healthcheck:
      test: ["CMD", "nc", "-vz", "localhost", "80"]
      interval: 20s
      timeout: 5s
      retries: 15
      start_period: 10s
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  mobymask_deployment:
  peers_ids: