46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
version: "2.2"
|
|
|
|
services:
|
|
es01:
|
|
depends_on:
|
|
elastic-init:
|
|
condition: service_healthy
|
|
image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
|
|
volumes:
|
|
- ${ES_ROOT_PATH}/certs:/usr/share/elasticsearch/config/certs
|
|
- ${ES_ROOT_PATH}/es01/data:/usr/share/elasticsearch/data
|
|
ports:
|
|
- ${PANEL_APP_PORT_HTTPS}:9200
|
|
environment:
|
|
- node.name=es01
|
|
- cluster.name=${CLUSTER_NAME}
|
|
- cluster.initial_master_nodes=es01,es02,es03
|
|
- discovery.seed_hosts=es02,es03
|
|
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
|
- bootstrap.memory_lock=true
|
|
- xpack.security.enabled=true
|
|
- xpack.security.http.ssl.enabled=true
|
|
- xpack.security.http.ssl.key=certs/es01/es01.key
|
|
- xpack.security.http.ssl.certificate=certs/es01/es01.crt
|
|
- xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
|
|
- xpack.security.transport.ssl.enabled=true
|
|
- xpack.security.transport.ssl.key=certs/es01/es01.key
|
|
- xpack.security.transport.ssl.certificate=certs/es01/es01.crt
|
|
- xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
|
|
- xpack.security.transport.ssl.verification_mode=certificate
|
|
- xpack.license.self_generated.type=basic
|
|
mem_limit: ${MEM_LIMIT}
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
|
|
]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 120
|