version: '2'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.3.1
    volumes:
      - ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ports:
      - "9200:9200"
      - "9300:9300"
  kibana:
    image: docker.elastic.co/kibana/kibana:5.3.1
    volumes:
      - ./kibana/config/:/usr/share/kibana/config
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
  mongo:
    image: mongo:latest
    ports:
      - 27017:27017
  reactor:
    build: ./reactor
    ports:
      - 8082:8082
      - 9001:9001
    depends_on:
      - mongo
      - elasticsearch
    environment:
      - IR_XMS=${IR_XMS}
      - IR_XMX=${IR_XMX}
      - IR_XX=${IR_XX}
      - IR_LOGBACK_CONF_FILE=${IR_LOGBACK_CONF_FILE}
      - IR_QUORUM_SIZE=${IR_QUORUM_SIZE}
      - IR_MIN_MEMBERS=${IR_MIN_MEMBERS}
      - IR_NAGIOS_PATH=${IR_NAGIOS_PATH}
      - IR_BOOTSTRAP_FILE=${IR_BOOTSTRAP_FILE}
      - AUTHENTICATION_ON=${AUTHENTICATION_ON}
      - MONGO_CONNECTION=${MONGO_CONNECTION}
      - ELASTIC_HOST=${ELASTIC_HOST}
  dcsim:
    build: ./dcsim
    network_mode: "service:reactor"
    environment:
      - TOPOLOGY_FILE=${TOPOLOGY_FILE}
