version: '3' services: mongodb: build: context: mongo image: ${REPO}/rs-mongodb:${TAG} networks: - robot-shop logging: &logging driver: "json-file" options: max-size: "25m" max-file: "2" redis: image: redis:6.2-alpine networks: - robot-shop logging: <<: *logging rabbitmq: image: rabbitmq:3.8-management-alpine networks: - robot-shop logging: <<: *logging catalogue: build: context: catalogue image: ${REPO}/rs-catalogue:${TAG} depends_on: - mongodb networks: - robot-shop healthcheck: test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ] interval: 10s timeout: 10s retries: 3 logging: <<: *logging user: build: context: user image: ${REPO}/rs-user:${TAG} depends_on: - mongodb - redis networks: - robot-shop healthcheck: test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ] interval: 10s timeout: 10s retries: 3 logging: <<: *logging cart: build: context: cart image: ${REPO}/rs-cart:${TAG} depends_on: - redis networks: - robot-shop healthcheck: test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ] interval: 10s timeout: 10s retries: 3 logging: <<: *logging mysql: build: context: mysql image: ${REPO}/rs-mysql-db:${TAG} cap_add: - NET_ADMIN networks: - robot-shop logging: <<: *logging shipping: build: context: shipping image: ${REPO}/rs-shipping:${TAG} depends_on: - mysql networks: - robot-shop healthcheck: test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health"] interval: 10s timeout: 10s retries: 3 logging: <<: *logging ratings: build: context: ratings image: ${REPO}/rs-ratings:${TAG} environment: APP_ENV: prod networks: - robot-shop depends_on: - mysql healthcheck: test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost/_health"] interval: 10s timeout: 10s retries: 3 logging: <<: *logging payment: build: context: payment image: ${REPO}/rs-payment:${TAG} depends_on: - rabbitmq networks: - robot-shop healthcheck: test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health"] interval: 10s timeout: 10s retries: 3 # Uncomment to change payment gateway #environment: #PAYMENT_GATEWAY: "https://www.worldpay.com" logging: <<: *logging dispatch: build: context: dispatch image: ${REPO}/rs-dispatch:${TAG} depends_on: - rabbitmq networks: - robot-shop logging: <<: *logging web: build: context: web args: # agent key to download tracing libs KEY: ${INSTANA_AGENT_KEY} image: ${REPO}/rs-web:${TAG} depends_on: - catalogue - user - shipping - payment ports: - "8080:8080" networks: - robot-shop healthcheck: test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/" ] interval: 10s timeout: 10s retries: 3 # Uncomment to enable Instana EUM # environment: # INSTANA_EUM_KEY: # INSTANA_EUM_REPORTING_URL: logging: <<: *logging networks: robot-shop: