version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0 container_name: es01 restart: always environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx - xpack.security.enabled=true - 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 # - reindex.remote.whitelist=["172.20.110.204:9200"] ulimits: memlock: soft: -1 hard: -1 volumes: - es-data01:/usr/share/elasticsearch/data:z - es-certs:${CERTS_DIR}:z # - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw ports: - 172.20.64.140: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 networks: - portal_qa es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0 container_name: es02 restart: always environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx - xpack.security.enabled=true - 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 #- reindex.remote.whitelist=["172.20.110.204:9200"] ulimits: memlock: soft: -1 hard: -1 volumes: - es-data02:/usr/share/elasticsearch/data:z - es-certs:${CERTS_DIR}:z # - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw networks: - portal_qa es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0 container_name: es03 restart: always environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx - xpack.security.enabled=true - 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 # - reindex.remote.whitelist=["172.20.110.204:9200"] ulimits: memlock: soft: -1 hard: -1 volumes: - es-data03:/usr/share/elasticsearch/data:z - es-certs:${CERTS_DIR}:z # - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw networks: - portal_qa kibana: image: docker.elastic.co/kibana/kibana:7.8.0 container_name: kibana restart: always environment: SERVER_NAME: kibana.development ELASTICSEARCH_HOSTS: '["http://es01:9200"]' ELASTICSEARCH_URL: http://es01:9200 ELASTICSEARCH_USERNAME: elastic ELASTICSEARCH_PASSWORD: xW8DTQG69Zrxy7hx ports: - "172.20.64.140:5601:5601" networks: - portal_qa depends_on: - es01 volumes: es-data01: driver: local driver_opts: o: bind type: none device: /data/container_volumes/es-data01 es-data02: driver: local driver_opts: o: bind type: none device: /data/container_volumes/es-data02 es-data03: driver: local driver_opts: o: bind type: none device: /data/container_volumes/es-data03 es-certs: driver: local driver_opts: o: bind type: none device: /data/container_volumes/es-certs networks: portal_qa: external: true