services:
  shopify:
    restart: unless-stopped
    image: cerc/laconic-shopify:local
    depends_on:
      faucet:
        condition: service_healthy
    command: ["bash", "-c", "./start-shopify.sh"]
    environment:
      CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
      CERC_SHOPIFY_GRAPHQL_URL: ${CERC_SHOPIFY_GRAPHQL_URL}
      CERC_SHOPIFY_ACCESS_TOKEN: ${CERC_SHOPIFY_ACCESS_TOKEN}
      CERC_FETCH_ORDER_DELAY: ${CERC_FETCH_ORDER_DELAY:-10000}
      CERC_FAUCET_URL: http://faucet:3000/
      CERC_ITEMS_PER_ORDER: ${CERC_ITEMS_PER_ORDER:-10}
    volumes:
      - shopify-data:/app/data
      - ../config/laconic-shopify/start-shopify.sh:/app/start-shopify.sh
      - ../config/laconic-shopify/product_pricings.json:/app/config/product_pricings.json
    extra_hosts:
      - "host.docker.internal:host-gateway"

  faucet:
    restart: unless-stopped
    image: cerc/laconic-shopify-faucet:local
    command: ["bash", "-c", "./start-faucet.sh"]
    environment:
      CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
      CERC_LACONICD_RPC_ENDPOINT: ${CERC_LACONICD_RPC_ENDPOINT:-https://laconicd-sapo.laconic.com}
      CERC_FAUCET_KEY: ${CERC_FAUCET_KEY}
      CERC_LACONICD_CHAIN_ID: ${CERC_LACONICD_CHAIN_ID:-laconic-testnet-2}
      CERC_LACONICD_PREFIX: ${CERC_LACONICD_PREFIX:-laconic}
      CERC_LACONICD_GAS_PRICE: ${CERC_LACONICD_GAS_PRICE:-0.001}
    volumes:
      - faucet-data:/app/db
      - ../config/laconic-shopify/start-faucet.sh:/app/start-faucet.sh
      - ../config/laconic-shopify/config-template.toml:/app/environments/config-template.toml
    healthcheck:
      test: ["CMD", "nc", "-vz", "127.0.0.1", "3000"]
      interval: 10s
      timeout: 5s
      retries: 10
      start_period: 5s
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  shopify-data:
  faucet-data: