How deviantony/docker-elk works
docker-elk is a Docker Compose template for running an exploratory Elastic Stack: an operator initializes the stack, starts its services, and uses Kibana to search and visualize data. Setup provisions Elasticsearch users; Elasticsearch provides storage and search, while Logstash and optional Beats/Fleet extensions support data ingestion and management. The tree and README establish these components, but no source excerpts were provided, so the graph omits unverified configuration-level wiring and extension-specific flows.
Main entry points: docker-compose.yml Compose stack · entrypoint.sh User setup · elasticsearch.yml Elasticsearch · kibana.yml Kibana
Components 14
Stack orchestration
- Compose stack
docker-compose.yml
Elastic Stack
- Elasticsearch
elasticsearch/config/elasticsearch.yml - Kibana
kibana/config/kibana.yml - Logstash
logstash/config/logstash.yml - Logstash pipeline
logstash/pipeline/logstash.conf
Initialization
- User setup
setup/entrypoint.sh - Setup helpers
setup/lib.sh - Writer roles
setup/roles
Optional extensions
- Filebeat
extensions/filebeat/config/filebeat.yml - Metricbeat
extensions/metricbeat/config/metricbeat.yml - Heartbeat
extensions/heartbeat/config/heartbeat.yml - Fleet
extensions/fleet - Curator
extensions/curator/config/curator.yml
Other components
- Operator
Connections 16
- Operator → Compose stack: starts stack
- Compose stack → User setup: runs setup
- Compose stack → Elasticsearch: starts service
- Compose stack → Kibana: starts service
- Compose stack → Logstash: starts service
- User setup → Setup helpers: uses helpers
- User setup → Writer roles: uses roles
- User setup → Elasticsearch: initializes users
- Kibana → Elasticsearch: communicates with
- Logstash → Elasticsearch: communicates with
- Operator → Kibana: uses interface
- Compose stack → Filebeat: starts service
- Compose stack → Metricbeat: starts service
- Compose stack → Heartbeat: starts service
- Compose stack → Fleet: starts service
- Compose stack → Curator: starts service