You can install Apex Camunda Explorer on your local machine using Docker Desktop. If you don't have Docker Desktop installed, the instructions are here.
- Create a directory named apex-camunda-explorer
- Create a file inside that directory named docker-compose.yml containing the text show below
- Run the
docker-compose up
command to start the app and supporting components - Once they are started, you can access the app at http://localhost:3000
Here is the docker-compose.yml file. The setup includes explorer, the underlying PostgreSQL database, the Zeebe engine and Elasticsearch. Be sure to replace <your email> and <a password for postgres> before running it.
version: '3'
services:
apex-camunda-explorer:
image: 'apexbpm/apex-camunda-explorer:latest'
ports:
- 3000:3000
environment:
databaseUrl: 'postgres://postgres:<a password for postgres>@postgres:5432/apex-camunda-explorer'
databaseSSL: 'false'
maintenanceDatabase: 'postgres'
adminEmails: '<your email>'
elasticsearchConfiguration: '{ "node": "http://elasticsearch:9200" }'
ZEEBE_ADDRESS: 'http://zeebe:26500'
depends_on:
- postgres
- zeebe
- elasticsearch
postgres:
image: postgres
ports:
- 5432:5432
volumes:
- './postgresql:/var/lib/postgresql/data'
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: <a password for postgres>
POSTGRES_DB: postgres
zeebe:
image: camunda/zeebe:${CAMUNDA_CLOUD_VERSION:-8.0.2}
container_name: zeebe
environment:
- 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
ports:
- 26500:26500
volumes:
- './zeebe:/usr/local/zeebe/data'
depends_on:
- elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION:-7.16.1}
container_name: elasticsearch
environment:
- cluster.name=camunda-cloud
- discovery.type=single-node
- xpack.security.enabled=false
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- http.port=9200
- http.cors.enabled=true
- http.cors.allow-origin=http://localhost:1358,http://127.0.0.1:1358
- http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
- http.cors.allow-credentials=true
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- './elastic:/usr/share/elasticsearch/data'
ports:
- 9200:9200