version: "3"

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.9.0 # https://www.docker.elastic.co/r/elasticsearch/elasticsearch
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false # security has been disabled, so no login or password is required.
      - xpack.security.http.ssl.enabled=false
      - xpack.license.self_generated.type=trial
    ports:
      - "9200:9200"
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl --silent --fail http://localhost:9200/_cluster/health || exit 1",
        ]
      interval: 10s
      retries: 60

  kibana:
    image: docker.elastic.co/kibana/kibana:8.9.0
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200
    ports:
      - "5601:5601"
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl --silent --fail http://localhost:5601/login || exit 1",
        ]
      interval: 10s
      retries: 60
