I am using a Docker Compose file to start the Zeebe broker, Operate, and Tasklist. However, I am encountering the following log message:
tasklist | io.camunda.tasklist.es.ElasticsearchConnector - Elasticsearch cluster is not accessible
As a result, my process instances do not appear in Operate, and no tasks are displayed in Tasklist.
docker compose file :
services:
zeebe:
image: camunda/zeebe:8.6.5
container_name: zeebe
ports:
- "26500:26500" # Zeebe gRPC
- "9600:9600" # Zeebe Monitoring
environment:
- ZEEBE_LOG_LEVEL=debug
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_CLASSNAME=io.camunda.zeebe.exporter.ElasticsearchExporter
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_URL=http://elasticsearch:9200
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1
- ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK=0.998
- ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK=0.999
- "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m"
restart: always
volumes:
- zeebe-data:/usr/local/zeebe/data
networks:
- camunda-platform
depends_on:
- elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
container_name: elasticsearch
ports:
- "9200:9200" # Elasticsearch REST API
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- network.host=0.0.0.0
- cluster.routing.allocation.disk.threshold_enabled=false
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- elastic-data:/usr/share/elasticsearch/data
healthcheck:
test: ["CMD-SHELL", "curl -s http://localhost:9200/_cat/health | grep -q green"]
interval: 30s
timeout: 5s
retries: 5
networks:
- camunda-platform
operate:
image: camunda/operate:8.6.5
container_name: operate
ports:
- "8081:8080"
environment:
- CAMUNDA_OPERATE_ZEEBE_GATEWAYADDRESS=zeebe:26500
- CAMUNDA_OPERATE_ELASTICSEARCH_URL=http://elasticsearch:9200
- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200
networks:
- camunda-platform
depends_on:
elasticsearch:
condition: service_healthy
zeebe:
condition: service_started
tasklist:
image: camunda/tasklist:8.6.5
container_name: tasklist
ports:
- "8082:8080"
environment:
- CAMUNDA_TASKLIST_ZEEBE_GATEWAYADDRESS=zeebe:26500
- CAMUNDA_TASKLIST_ELASTICSEARCH_URL=http://elasticsearch:9200
- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200
networks:
- camunda-platform
depends_on:
elasticsearch:
condition: service_healthy
zeebe:
condition: service_started
volumes:
zeebe-data:
elastic-data:
networks:
camunda-platform:
the application.yml:
zeebe:
client:
gateway:
address: localhost:26500
security:
plaintext: true
camunda.bpm:
admin-user:
id: demo
password: demo
firstName: Demo
filter:
create: All tasks
camunda:
tasklist:
# Elasticsearch (ELS) configuration for Tasklist
elasticsearch:
clusterName: elasticsearch # Elasticsearch Cluster Name
url: http://elasticsearch:9200 # URL of Elasticsearch REST API
username: elastic # Optional: Username for Elasticsearch
password: changeme # Optional: Password for Elasticsearch
ssl:
selfSigned: true # If using self-signed certificates
verifyHostname: false # Disable hostname verification
# Zeebe connection
zeebe:
gatewayAddress: zeebe:26500 # Address of Zeebe Gateway
# Zeebe Elasticsearch exporter configuration
zeebeElasticsearch:
clusterName: elasticsearch # Elasticsearch Cluster Name
url: http://elasticsearch:9200 # URL of Elasticsearch REST API
prefix: zeebe-record # Index prefix, configured in Zeebe Elasticsearch exporter
username: elastic # Optional: Username for Elasticsearch
password: changeme # Optional: Password for Elasticsearch
ssl:
selfSigned: true # If using self-signed certificates
verifyHostname: false # Disable hostname verification
operate:
# Elasticsearch (ELS) configuration for Operate
elasticsearch:
url: http://elasticsearch:9200 # URL of Elasticsearch REST API
username: elastic # Optional: Username for Elasticsearch
password: changeme # Optional: Password for Elasticsearch
# Zeebe connection
zeebe:
gateway-address: zeebe:26500 # Address of Zeebe Gateway
server:
servlet:
context-path: /tasklist # Optional: Customize context path for Tasklist
management:
health:
defaults:
enabled: false # Disable default health indicators
probes:
enabled: true # Enable Kubernetes health groups
endpoints:
web:
exposure:
include: health, prometheus # Enable health check and metrics endpoints