version: '3.8'

# 网络
networks:
  default:
    external:
      name: box-network

services:
  #nginx反向代理
  box-nginx:
    image: "registry.cn-chengdu.aliyuncs.com/infish/pack-comm-nginx:1.23.1"
    restart: always
    ports:
      - 18088:80

    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/www:/usr/share/nginx/html

    links:
      - box-cost
      - box-usercenter
      
    depends_on:
      - box-cost
      - box-usercenter

  #bus消息中间件
  box-bus:
    restart: always
    image: registry.cn-chengdu.aliyuncs.com/infish/pack-comm-bus:v1.0.0
    volumes:
      - ./config-service.yaml:/root/bus/app.yaml

    depends_on:
      - box-mongo
      - box-redis    
    ports:
      - 14300:4222

  #redis缓存
  box-redis:
    image: "redis:alpine"
    restart: always
    command:
      --requirepass "boxcomm" #这一行是设置密码
    privileged: true
    ports:
      - 16390:6379

  #mongo 数据库
  box-mongo:
    image: mongo:4.4.1
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: boxcost
    volumes:
      - ~/data/packs-box/mongo/db:/data/db
      - ~/data/packs-box/mongo/log:/var/log/mongodb
    ports: 
      - 37030:27017

  # cost 8888
  box-cost:
    image: registry.cn-chengdu.aliyuncs.com/infish/pack-box-cost:v1.0.0
    restart: always
    depends_on:
      - box-bus
    environment: 
      NATS: nats://box-bus:4222

  # 用户中心 8908
  box-usercenter:
    image: registry.cn-chengdu.aliyuncs.com/infish/pack-comm-usercenter:v1.0.0
    restart: always
    depends_on:
      - box-bus
    environment: 
      NATS: nats://box-bus:4222