version: '3.8' services: elasticsearch: image: elasticsearch:8.11.0 container_name: ecommerce-elasticsearch environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms512m -Xmx512m - xpack.security.enabled=false - http.cors.enabled=true - http.cors.allow-origin=* ports: - "9200:9200" - "9300:9300" volumes: - es_data:/usr/share/elasticsearch/data networks: - ecommerce-network healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"] interval: 30s timeout: 10s retries: 5 kibana: image: kibana:8.11.0 container_name: ecommerce-kibana environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 ports: - "5601:5601" depends_on: - elasticsearch networks: - ecommerce-network healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:5601/api/status || exit 1"] interval: 30s timeout: 10s retries: 5 volumes: es_data: driver: local networks: ecommerce-network: driver: bridge