About this project

docker-elk is a Docker Compose template for running the Elastic stack (Elasticsearch, Logstash, Kibana) on a single host. It is built on Elastic's official Docker images and is explicitly positioned as a template for getting started and experimenting, not as a production-ready deployment blueprint. What it provides: - A Compose setup that starts Elasticsearch, Logstash and Kibana together, with a one-off `setup` service that initializes the required Elasticsearch users and groups. - Default exposed ports: 5044 (Logstash Beats input), 50000 (Logstash TCP input), 9600 (Logstash monitoring API), 9200 (Elasticsearch HTTP), 9300 (Elasticsearch transport) and 5601 (Kibana). - A shipped Logstash pipeline that accepts data over TCP port 50000, so log files can be piped in with Netcat and then explored in Kibana. - Configuration files for each component (elasticsearch.yml, kibana.yml, logstash.yml) plus the ability to override settings through environment variables in the Compose file. - Guidance on resetting the default passwords of the elastic, logstash_internal and kibana_system users, and on re-running the setup service. - Notes on disabling paid/trial features, scaling out the Elasticsearch cluster, adding plugins via Dockerfiles, enabling optional extensions, and tuning JVM heap and remote JMX options. - Version selection through the .env file, with separate branches for older major releases (8.x, 7.x, 6.x, 5.x). Requirements are Docker Engine 18.06.0+ and Docker Compose 2.0.0+, with roughly 1.5 GB of RAM. The README warns that Elasticsearch bootstrap checks are intentionally disabled for development convenience, and that default credentials should be changed.