version: '3.8' networks: microservice-network: driver: bridge services: consul: image: consul:1.15 container_name: ari-consul command: "consul agent -server -bootstrap-expect=1 ${CONSUL_DEV_MODE} -config-dir=/consul/config -client=0.0.0.0" ports: - "8500:8500" - "8600:8600/udp" volumes: - ./consul/config/${ENV_CONFIG_DIR}:/consul/config environment: - CONSUL_DEV_MODE=-dev networks: - microservice-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8500/v1/status/leader"] interval: 10s timeout: 5s retries: 3 restart: always traefik: image: traefik:v2.11 container_name: ari-traefik command: - --configFile=/etc/traefik/traefik.yml ports: - "80:80" - "443:443" - "8080:8080" volumes: - ./traefik/certs:/etc/traefik/certs - ./traefik/config/${TRAEFIK_CONFIG_DIR}/traefik.yml:/etc/traefik/traefik.yml - /var/run/docker.sock:/var/run/docker.sock depends_on: [] networks: - microservice-network restart: always data-service: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/data-service:latest container_name: ari-data-service expose: - "8000" environment: - SERVICE_NAME=data-service networks: - microservice-network depends_on: - data-service - quant-service - emotion-service - recommend-service - user-service restart: always emotion-service: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/emotion-service:latest container_name: ari-emotion-service expose: - "8002" environment: - SERVICE_NAME=emotion-service networks: - microservice-network depends_on: - consul restart: always frontend: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/frontend:latest container_name: ari-frontend expose: - "80" environment: - SERVICE_NAME=frontend networks: - microservice-network depends_on: - consul restart: always quant-service: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/quant-service:latest container_name: ari-quant-service expose: - "8001" environment: - SERVICE_NAME=quant-service networks: - microservice-network depends_on: - consul restart: always recommend-service: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/recommend-service:latest container_name: ari-recommend-service expose: - "8003" environment: - SERVICE_NAME=recommend-service networks: - microservice-network depends_on: - consul restart: always user-service: image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/user-service:latest container_name: ari-user-service expose: - "8004" environment: - SERVICE_NAME=user-service networks: - microservice-network depends_on: [] restart: always whoami: image: traefik/whoami container_name: whoami networks: - microservice-network