Files
robot-shop/docker-compose.yaml
2021-08-31 16:15:36 +01:00

173 lines
3.7 KiB
YAML

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: <your eum key>
# INSTANA_EUM_REPORTING_URL: <your reporting url>
logging:
<<: *logging
networks:
robot-shop: