mirror of
https://github.com/deviantony/docker-elk.git
synced 2025-12-12 01:40:29 +01:00
There has been no release of the deprecated 'docker-compose' Python package since v1.29.2, which was published in May 2021[1]. This release is currently broken due to a breaking change in the 'docker' Python package at version 7.0.0[1], and there is seemlingly no plan to release a patch version of Compose v1 to address the problem. The official path forward is to use Compose v2, which is now bundled with the Docker client and available on all platforms where Docker is supported. This commit additionally removes the 'version' attribute from Compose files, since it was obsoleted in the Compose Spec[3]. Closes #1017 [1]: https://pypi.org/project/docker-compose/#history [2]: docker/docker-py#3194 [3]: https://compose-spec.io
113 lines
3.5 KiB
YAML
113 lines
3.5 KiB
YAML
services:
|
|
|
|
# The 'setup' service runs a one-off script which initializes users inside
|
|
# Elasticsearch — such as 'logstash_internal' and 'kibana_system' — with the
|
|
# values of the passwords defined in the '.env' file. It also creates the
|
|
# roles required by some of these users.
|
|
#
|
|
# This task only needs to be performed once, during the *initial* startup of
|
|
# the stack. Any subsequent run will reset the passwords of existing users to
|
|
# the values defined inside the '.env' file, and the built-in roles to their
|
|
# default permissions.
|
|
#
|
|
# By default, it is excluded from the services started by 'docker compose up'
|
|
# due to the non-default profile it belongs to. To run it, either provide the
|
|
# '--profile=setup' CLI flag to Compose commands, or "up" the service by name
|
|
# such as 'docker compose up setup'.
|
|
setup:
|
|
profiles:
|
|
- setup
|
|
build:
|
|
context: setup/
|
|
args:
|
|
ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
init: true
|
|
volumes:
|
|
- ./setup/entrypoint.sh:/entrypoint.sh:ro,Z
|
|
- ./setup/lib.sh:/lib.sh:ro,Z
|
|
- ./setup/roles:/roles:ro,Z
|
|
environment:
|
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
|
LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
|
KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
|
|
METRICBEAT_INTERNAL_PASSWORD: ${METRICBEAT_INTERNAL_PASSWORD:-}
|
|
FILEBEAT_INTERNAL_PASSWORD: ${FILEBEAT_INTERNAL_PASSWORD:-}
|
|
HEARTBEAT_INTERNAL_PASSWORD: ${HEARTBEAT_INTERNAL_PASSWORD:-}
|
|
MONITORING_INTERNAL_PASSWORD: ${MONITORING_INTERNAL_PASSWORD:-}
|
|
BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
|
networks:
|
|
- elk
|
|
depends_on:
|
|
- elasticsearch
|
|
|
|
elasticsearch:
|
|
build:
|
|
context: elasticsearch/
|
|
args:
|
|
ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
volumes:
|
|
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro,Z
|
|
- elasticsearch:/usr/share/elasticsearch/data:Z
|
|
ports:
|
|
- 9200:9200
|
|
- 9300:9300
|
|
environment:
|
|
node.name: elasticsearch
|
|
ES_JAVA_OPTS: -Xms512m -Xmx512m
|
|
# Bootstrap password.
|
|
# Used to initialize the keystore during the initial startup of
|
|
# Elasticsearch. Ignored on subsequent runs.
|
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
|
# Use single node discovery in order to disable production mode and avoid bootstrap checks.
|
|
# see: https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
|
|
discovery.type: single-node
|
|
networks:
|
|
- elk
|
|
restart: unless-stopped
|
|
|
|
logstash:
|
|
build:
|
|
context: logstash/
|
|
args:
|
|
ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
volumes:
|
|
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro,Z
|
|
- ./logstash/pipeline:/usr/share/logstash/pipeline:ro,Z
|
|
ports:
|
|
- 5044:5044
|
|
- 50000:50000/tcp
|
|
- 50000:50000/udp
|
|
- 9600:9600
|
|
environment:
|
|
LS_JAVA_OPTS: -Xms256m -Xmx256m
|
|
LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
|
networks:
|
|
- elk
|
|
depends_on:
|
|
- elasticsearch
|
|
restart: unless-stopped
|
|
|
|
kibana:
|
|
build:
|
|
context: kibana/
|
|
args:
|
|
ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
volumes:
|
|
- ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml:ro,Z
|
|
ports:
|
|
- 5601:5601
|
|
environment:
|
|
KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
|
|
networks:
|
|
- elk
|
|
depends_on:
|
|
- elasticsearch
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
elk:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
elasticsearch:
|