123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- version: "2.2"
- services:
- es01:
- container_name: es01
- image: {docker-repo}:{version}
- environment:
- - node.name=es01
- - discovery.seed_hosts=es02,es03
- - cluster.initial_master_nodes=es01,es02,es03
- - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- - xpack.security.enabled=true
- - xpack.security.http.ssl.enabled=true
- - xpack.security.http.ssl.key=$CERTS_DIR/es01/es01.key
- - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.http.ssl.certificate=$CERTS_DIR/es01/es01.crt
- - xpack.security.transport.ssl.enabled=true
- - xpack.security.transport.ssl.verification_mode=certificate
- - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.transport.ssl.certificate=$CERTS_DIR/es01/es01.crt
- - xpack.security.transport.ssl.key=$CERTS_DIR/es01/es01.key
- volumes: ["data01:/usr/share/elasticsearch/data", "certs:$CERTS_DIR"]
- ports:
- - 9200:9200
- healthcheck:
- test: curl --cacert $CERTS_DIR/ca/ca.crt -s https://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
- interval: 30s
- timeout: 10s
- retries: 5
- es02:
- container_name: es02
- image: {docker-repo}:{version}
- environment:
- - node.name=es02
- - discovery.seed_hosts=es01,es03
- - cluster.initial_master_nodes=es01,es02,es03
- - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- - xpack.license.self_generated.type=trial
- - xpack.security.enabled=true
- - xpack.security.http.ssl.enabled=true
- - xpack.security.http.ssl.key=$CERTS_DIR/es02/es02.key
- - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.http.ssl.certificate=$CERTS_DIR/es02/es02.crt
- - xpack.security.transport.ssl.enabled=true
- - xpack.security.transport.ssl.verification_mode=certificate
- - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.transport.ssl.certificate=$CERTS_DIR/es02/es02.crt
- - xpack.security.transport.ssl.key=$CERTS_DIR/es02/es02.key
- volumes: ["data02:/usr/share/elasticsearch/data", "certs:$CERTS_DIR"]
- es03:
- container_name: es03
- image: {docker-repo}:{version}
- environment:
- - node.name=es03
- - discovery.seed_hosts=es01,es02
- - cluster.initial_master_nodes=es01,es02,es03
- - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- - xpack.license.self_generated.type=trial
- - xpack.security.enabled=true
- - xpack.security.http.ssl.enabled=true
- - xpack.security.http.ssl.key=$CERTS_DIR/es03/es03.key
- - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.http.ssl.certificate=$CERTS_DIR/es03/es03.crt
- - xpack.security.transport.ssl.enabled=true
- - xpack.security.transport.ssl.verification_mode=certificate
- - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- - xpack.security.transport.ssl.certificate=$CERTS_DIR/es03/es03.crt
- - xpack.security.transport.ssl.key=$CERTS_DIR/es03/es03.key
- volumes: ["data03:/usr/share/elasticsearch/data", "certs:$CERTS_DIR"]
- wait_until_ready:
- image: {docker-repo}:{version}
- command: /usr/bin/true
- depends_on: { "es01": { "condition": "service_healthy" } }
- volumes: { "data01", "data02", "data03", "certs" }
|