composer/elk.yaml
# ELK CONTAINERS
es:
restart: always
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
expose:
- 9200
- 9300
volumes:
- ./es_data:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
environment:
- discovery.type=single-node
- network.host=0.0.0.0
- discovery.zen.minimum_master_nodes=1
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
networks:
es:
aliases:
- elasticsearch
ls:
restart: always
image: docker.elastic.co/logstash/logstash:7.5.2
entrypoint: sh
command:
- -c
- |
cat <<EOF> /usr/share/logstash/pipeline/logstash.conf
input {
tcp {
port => 5000
codec => plain
}
}
output {
elasticsearch { hosts => ["es:9200"] }
}
EOF
/usr/local/bin/docker-entrypoint
ports:
- 5000:5000
# environment:
# - LOG_LEVEL=debug
networks:
- es
kib:
restart: always
image: docker.elastic.co/kibana/kibana:7.5.2
expose:
- 5601
networks:
es:
aliases:
- web
kibpass:
restart: always
environment:
FORWARD_PORT: 5601
# Add htpassword here: http://www.htaccesstools.com/htpasswd-generator/ (example below is username=username password=password) - make sure to escape $ signs with $$
HTPASSWD: 'username:$$apr1$$3X/xufbq$$xBqXarJxuOD0AMXJ4OYin.'
ports:
- 8000:80
image: beevelop/nginx-basic-auth
networks:
- es