version: '3'
services:

  yabaas_api:
    container_name: yabaas_api
    build: .
    depends_on:
      - yabaas_proxy
      - yabaas_mongo
#      - yabaas_rabbit
#      - yabaas_maildev
    links:
      - yabaas_mongo
#      - yabaas_rabbit
#      - yabaas_maildev
    ports:
      - '6789:3000'
    volumes:
      - .:/home/node/app
      - /home/node/app/node_modules
    environment:
      NODE_ENV: docker
      API_TITLE: "Backend as a Service"
      VIRTUAL_HOST: api.yabaas.local

  # yabaas_maildev:
  #   container_name: yabaas_maildev
  #   image: djfarrelly/maildev
  #   depends_on:
  #     - yabaas_proxy
  #   ports:
  #     - '6790:80'
  #     - '6791:25'
  #   environment:
  #     VIRTUAL_HOST: maildev.yabaas.local
  #   volumes:
  #     - /tmp/yabaas-maildev:/usr/src/app/maildev

  yabaas_mongo:
    container_name: yabaas_mongo
    image: mongo:3.4.9
    depends_on:
      - yabaas_proxy
    ports:
      - '6792:27017'
    command: "--smallfiles --logpath=/dev/null"
    # volumes:
    #   - /srv/yabaas-mongo:/data/db
    environment:
      NODE_ENV: docker
      VIRTUAL_HOST: mongo.yabaas.local

  # yabaas_rabbit:
  #   container_name: yabaas_rabbit
  #   image: rabbitmq:3.6.12-management
  #   depends_on:
  #     - yabaas_proxy
  #   environment:
  #     RABBITMQ_DEFAULT_USER: 'admin'
  #     RABBITMQ_DEFAULT_PASS: 'pass'
  #     VIRTUAL_HOST: rabbit.yabaas.local
  #   ports:
  #     - '6793:5672'
  #     - '6794:15672'
  #   # volumes:
  #   #   - /srv/yabaas-rabbitmq:/var/lib/rabbitmq

  yabaas_proxy:
    image: jwilder/nginx-proxy
    container_name: yabaas_proxy
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock
    ports:
      - '80:80'
    environment:
      NODE_ENV: docker
