version: '3.7'
services:
  rabbitmq:
    image: rabbitmq
    container_name: rabbitmq
    ports:
      - "5672:5672"
      - "15672:15672"
  redis:
    image: redis
    container_name: redis
    ports:
      - "6379:6379"
  es:
    image: elasticsearch
    container_name: es
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - "discovery.type=single-node"
    deploy:
      resources:
        limits:
          memory: 4G
        reservations:
          memory: 1G
  eureka:
    image: eureka
    container_name: eureka
    ports:
      - "20000:20000"
    depends_on:
      - rabbitmq
    deploy:
      resources:
        limits:
          memory: 400M
        reservations:
          memory: 100M
  gateway:
    image: gateway
    container_name: gateway
    ports:
      - "10001:10001"
    depends_on:
      - rabbitmq
      - eureka
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  core:
    image: core
    container_name: core
    ports:
      - "10002:10002"
    depends_on:
      - rabbitmq
      - eureka
    deploy:
      resources:
        limits:
          memory: 800M
        reservations:
          memory: 100M
  gdtelgztelschoolcentermanager:
    image: gdtelgztelschoolcentermanager
    container_name: gdtelgztelschoolcentermanager
    ports:
      - "11091:11091"
    depends_on:
      - rabbitmq
      - eureka
      - redis
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  gdtelgztelschoolcentertask:
    image: gdtelgztelschoolcentertask
    container_name: gdtelgztelschoolcentertask
    ports:
      - "11191:11191"
      - "8199:8199"
    depends_on:
      - rabbitmq
      - eureka
      - redis
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  gdtelgztelschoolcenterapplynet:
    image: gdtelgztelschoolcenterapplynet
    container_name: gdtelgztelschoolcenterapplynet
    ports:
      - "11092:11092"
    depends_on:
      - rabbitmq
      - eureka
      - redis
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  gdtelgztelschoolcenternewuser:
    image: gdtelgztelschoolcenternewuser
    container_name: gdtelgztelschoolcenternewuser
    ports:
      - "11093:11093"
    depends_on:
      - rabbitmq
      - eureka
      - redis
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  gdtelgztelschoolcenterolduser:
    image: gdtelgztelschoolcenterolduser
    container_name: gdtelgztelschoolcenterolduser
    ports:
      - "11094:11094"
    depends_on:
      - rabbitmq
      - eureka
      - redis
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M
  gdtelgztelschoolcenterui:
    image: gdtelgztelschoolcenterui
    container_name: gdtelgztelschoolcenterui
    ports:
      - "11090:11090"
    depends_on:
      - rabbitmq
      - redis
      - eureka
      - gateway
      - core
    deploy:
      resources:
        limits:
          memory: 100M
        reservations:
          memory: 100M
  winsunoaui:
    image: winsunoaui
    container_name: winsunoaui
    ports:
      - "11080:11080"
    depends_on:
      - rabbitmq
      - redis
      - eureka
      - gateway
      - core
    deploy:
      resources:
        limits:
          memory: 100M
        reservations:
          memory: 100M
  winsunoareport:
    image: winsunoareport
    container_name: winsunoareport
    ports:
      - "10003:10003"
    depends_on:
      - rabbitmq
      - redis
      - eureka
      - core
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 100M