version: '3.2' services: # elasticsearch elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2 container_name: elasticsearch volumes: - elasticsearch_data:/usr/share/elasticsearch/data - ./elastic/elasticsearch.yaml:/usr/share/elasticsearch/config/elasticsearch.yml ports: - 9200:9200 - 9300:9300 environment: discovery.type: single-node ELASTIC_PASSWORD: 23weqdsacfsregh xpack.security.enabled: 'true' # kibana kibana: image: docker.elastic.co/kibana/kibana:7.16.2 container_name: kibana volumes: - ./elastic/kibana.yaml:/usr/share/kibana/config/kibana.yml ports: - 5601:5601 environment: - ELASTICSEARCH_USERNAME=elastic - ELASTICSEARCH_PASSWORD=23weqdsacfsregh # logstash logstash: image: docker.elastic.co/logstash/logstash:7.16.2 container_name: logstash volumes: - ./elastic/logging.conf:/usr/share/logstash/pipeline/logging.conf - ./elastic/logstash.yaml:/usr/share/logstash/config/logstash.yml ports: - 1514:1514/udp - 1515:1515 - 1515:1515/udp depends_on: - elasticsearch # nginx for proxy nginx: restart: always image: nginx:latest container_name: kibana_nginx volumes: - ./default.conf:/etc/nginx/conf.d/default.conf - ./certs:/etc/nginx/certs ports: - 80:80 - 443:443 depends_on: - kibana volumes: elasticsearch_data: driver: local