version: '2'
services:
  vulnwhisp-es1:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.6.2
    container_name: vulnwhisp-es1
    environment:
      - cluster.name=vulnwhisperer
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    mem_limit: 8g
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    environment:
      - xpack.security.enabled=false
    #restart: always
    networks:
      esnet:
        aliases:
          - vulnwhisp-es1.local
  vulnwhisp-ks1:
    image: docker.elastic.co/kibana/kibana:5.6.2
    environment:
      SERVER_NAME: vulnwhisp-ks1
      ELASTICSEARCH_URL: http://vulnwhisp-es1:9200
    ports:
      - 5601:5601
    depends_on:
      - vulnwhisp-es1
    networks:
      esnet:
        aliases:
          - vulnwhisp-ks1.local
  vulnwhisp-ls1:
    image: docker.elastic.co/logstash/logstash:5.6.2
    container_name: vulnwhisp-ls1
    volumes:
      - ./docker/1000_nessus_process_file.conf:/usr/share/logstash/pipeline/1000_nessus_process_file.conf
      - ./docker/2000_qualys_web_scans.conf:/usr/share/logstash/pipeline/2000_qualys_web_scans.conf
      - ./docker/3000_openvas.conf:/usr/share/logstash/pipeline/3000_openvas.conf
      - ./docker/4000_jira.conf:/usr/share/logstash/pipeline/4000_jira.conf
      - ./docker/logstash.yml:/usr/share/logstash/config/logstash.yml
      - ./data/:/opt/VulnWhisperer/data
    environment:
      - xpack.monitoring.enabled=false
    depends_on:
      - vulnwhisp-es1
    networks:
      esnet:
        aliases:
          - vulnwhisp-ls1.local
  vulnwhisp-vulnwhisperer:
    image: hasecuritysolutions/vulnwhisperer:latest
    container_name: vulnwhisp-vulnwhisperer
    volumes:
      - ./data/:/opt/VulnWhisperer/data
      - ./configs/frameworks_example.ini:/opt/VulnWhisperer/frameworks_example.ini
    network_mode: host
volumes:
  esdata1:
    driver: local

networks:
  esnet:
