version: "3.7" volumes: api-proxy-config: prometheus_data: {} grafana-data: driver: local services: # node-exporter: # image: quay.io/prometheus/node-exporter:latest # volumes: # - /proc:/host/proc:ro # - /sys:/host/sys:ro # - /:/rootfs:ro # - /:/host:ro,rslave # command: # - '--path.rootfs=/host' # - '--path.procfs=/host/proc' # - '--path.sysfs=/host/sys' # - --collector.filesystem.ignored-mount-points # - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)" # ports: # - 9100:9100 # prometheus: # image: prom/prometheus:latest # container_name: prometheus # ports: # - "9090:9090" # volumes: # - /etc/prometheus:/etc/prometheus # - prometheus_data:/prometheus # restart: unless-stopped # command: # - "--config.file=/etc/prometheus/prometheus.yml" # grafana: # image: grafana/grafana-oss:latest # container_name: grafana # ports: # - "3000:3000" # volumes: # - grafana-data:/var/lib/grafana # restart: unless-stopped # cadvisor: # image: google/cadvisor:latest # latest tag is not updated... # # https://github.com/google/cadvisor/issues/3066 # # To manual check versions: https://github.com/google/cadvisor/releases # volumes: # - /:/rootfs:ro # - /var/run:/var/run:ro # - /sys:/sys:ro # - /var/lib/docker/:/var/lib/docker:ro # - /dev/disk/:/dev/disk:ro # devices: # - /dev/kmsg # restart: unless-stopped # # ports: # # - "3400:3400" rabbitmq: image: rabbitmq:3.9-management ports: - 5673:5672 - 15673:15672 mongodb: image: mongo ports: - 27017:27017 volumes: # if persistence required - ./local-database:/data/db users-ms: build: context: ./backend/microservices/dgoods-ms-users target: development volumes: - ./backend/microservices/dgoods-ms-users/lib:/usr/app/src/lib - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-users/.env.development environment: - MICROSERVICE_NAME=users # requestst to /api/example/** will be proxied to this MS #- DEBUG=* depends_on: - mongodb - rabbitmq analytics-ms: build: context: ./backend/microservices/dgoods-ms-analytics target: development volumes: - ./backend/microservices/dgoods-ms-analytics/lib:/usr/app/src/lib - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-analytics/.env.development environment: - MICROSERVICE_NAME=analytics session-ms: build: context: ./backend/microservices/dgoods-ms-session target: development volumes: - ./backend/microservices/dgoods-ms-session/lib:/usr/app/src/lib - ./backend/microservices/dgoods-0c44823fe0ea.json:/usr/app/dgoods-0c44823fe0ea.json - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-session/.env.development environment: - MICROSERVICE_NAME=session - DEBUG=modeso:* # requestst to /api/example/** will be proxied to this MS #- DEBUG=* depends_on: - mongodb - rabbitmq - users-ms cart-ms: build: context: ./backend/microservices/dgoods-ms-cart dockerfile: ./Dockerfile.dev target: development volumes: - ./backend/microservices/dgoods-ms-cart/lib:/usr/app/src/lib - ./backend/microservices/dgoods-ms-cart/types:/usr/app/src/types - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-cart/.env.development environment: - MICROSERVICE_NAME=cart # requestst to /api/example/** will be proxied to this MS #- DEBUG=* depends_on: - mongodb - rabbitmq admin-ms: build: context: ./backend/microservices/dgoods-ms-admin target: development volumes: - ./backend/microservices/dgoods-ms-admin/lib:/usr/app/src/lib - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-admin/.env.development environment: - MICROSERVICE_NAME=admin # requestst to /api/example/** will be proxied to this MS #- DEBUG=* depends_on: - mongodb - rabbitmq products-ms: build: context: ./backend/microservices/dgoods-ms-products dockerfile: ./Dockerfile.dev target: development volumes: - ./backend/microservices/dgoods-ms-products/lib:/usr/app/src/lib - ./backend/microservices/dgoods-ms-products/types:/usr/app/src/types - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-products/.env.development environment: - MICROSERVICE_NAME=products depends_on: - mongodb - rabbitmq # ports: # - "9229:9229" email-ms: build: context: ./backend/microservices/dgoods-ms-email volumes: - ./backend/microservices/dgoods-ms-email/lib:/usr/app/src/lib - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json env_file: - ./backend/microservices/dgoods-ms-email/.env.development environment: - MICROSERVICE_NAME=email depends_on: - mongodb - rabbitmq localization-ms: image: ghcr.io/modesoventures/modeso-ms-localization:master volumes: - ./backend/microservices/dgoods-ms-localization/data:/usr/app/data - ./backend/microservices/dgoods-ms-localization/public.key:/usr/app/public.key - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json - ~/.config/:/root/.config environment: - MICROSERVICE_NAME=localization #- DEBUG=* env_file: - ./backend/microservices/dgoods-ms-localization/.env.development payment-ms: build: context: ./backend/microservices/dgoods-ms-payment volumes: - ./backend/microservices/dgoods-ms-payment/lib:/usr/app/src/lib - ./backend/microservices/dgoods-ms-payment/data:/usr/app/data - ./backend/microservices/DGoods-094895d003e6.json:/usr/app/DGoods-094895d003e6.json environment: - MICROSERVICE_NAME=payment #- DEBUG=* env_file: - ./backend/microservices/dgoods-ms-payment/.env.development api-gateway: image: nginx container_name: dgoods-api-gateway ports: - "3000:80" volumes: - api-proxy-config:/etc/nginx/conf.d api-proxy-dockergen: build: context: ./backend/microservices/modeso-api-gateway command: -notify-sighup dgoods-api-gateway -watch /usr/app/nginx.tmpl /etc/nginx/conf.d/default.conf volumes: - api-proxy-config:/etc/nginx/conf.d - /var/run/docker.sock:/tmp/docker.sock:ro swagger-ui: container_name: swagger image: swaggerapi/swagger-ui environment: URLS: "[{ url: 'doc/cart-api.yaml', name: 'CartMS'}, { url: 'doc/product-api.yaml', name: 'ProductMs'}, { url: 'doc/admin-api.yaml', name: 'AdminMs'}, { url: 'doc/session-api.yaml', name: 'SessionMs'}]" volumes: - ./doc/:/usr/share/nginx/html/doc ports: - "8080:8080"