version: '3'
services:
  mongodb:
    build:
      context: mongo
    image: ${REPO}/rs-mongodb:${TAG}
    networks:
      - robot-shop
  redis:
    image: redis:4.0.6
    networks:
      - robot-shop
  rabbitmq:
    image: rabbitmq:3.7-management-alpine
    networks:
      - robot-shop
  catalogue:
    build:
      context: catalogue
    image: ${REPO}/rs-catalogue:${TAG}
    depends_on:
      - mongodb
    networks:
      - robot-shop
  user:
    build:
      context: user
    image: ${REPO}/rs-user:${TAG}
    depends_on:
      - mongodb
      - redis
    networks:
      - robot-shop
  cart:
    build:
      context: cart
    image: ${REPO}/rs-cart:${TAG}
    depends_on:
      - redis
    networks:
      - robot-shop
  mysql:
    build:
      context: mysql
    image: ${REPO}/rs-mysql-db:${TAG}
    cap_add:
      - NET_ADMIN
    networks:
      - robot-shop
  shipping:
    build:
      context: shipping
    image: ${REPO}/rs-shipping:${TAG}
    depends_on:
      - mysql
    networks:
      - robot-shop
  ratings:
    build:
      context: ratings
    image: ${REPO}/rs-ratings:${TAG}
    networks:
      - robot-shop
    depends_on:
      - mysql
  payment:
    build:
      context: payment
    image: ${REPO}/rs-payment:${TAG}
    depends_on:
      - rabbitmq
    networks:
      - robot-shop
    # Uncomment to change payment gateway
    #environment:
      #PAYMENT_GATEWAY: "https://www.worldpay.com"
  dispatch:
    build:
      context: dispatch
    image: ${REPO}/rs-dispatch:${TAG}
    depends_on:
      - rabbitmq
    networks:
      - robot-shop
  web:
    build:
      context: web
    image: ${REPO}/rs-web:${TAG}
    depends_on:
      - catalogue
      - user
      - shipping
      - payment
    ports:
      - "8080:8080"
    networks:
      - robot-shop
    # Uncomment to enable Instana EUM
    # environment:
      # INSTANA_EUM_KEY: <your eum key>
      # INSTANA_EUM_REPORTING_URL: https://eum-us-west-2.instana.io
      # INSTANA_EUM_REPORTING_URL: https://eum-eu-west-1.instana.io

networks:
  robot-shop:

