Skip to main content

Docker Compose

You need Docker 20.10.16 or later and Compose 2.24.0 or later. Check with

docker compose version
Beware the missing dashes

and use that command rather than docker-compose. You might need to upgrade Docker Desktop or the Docker Engine Compose plugin.

Core Architecture: Component Topology​

Before orchestrating your local runtime, it is critical to understand the infrastructure footprint of each distribution. The following matrix maps the active microservices and database engines provisioned inside the Docker topology:

Core ComponentLightweight Topology (C8Run / Dev)Heavyweight Topology (Full Compose Stack)Primary Function & Operational Protocol
Zeebe Engine🟢 Active🟢 ActiveCore workflow engine handling state transitions and BPMN execution via gRPC.
Elasticsearch🟢 Active🟢 ActiveDatastore persistence layer archiving all historical export state logs.
Camunda Operate🟢 Active🟢 ActiveOperational web dashboard for live process monitoring and incident troubleshooting.
Camunda Tasklist❌ Omitted🟢 ActiveUser-facing task assignment ingress routing manual user actions.
Connectors Inbound❌ Omitted🟢 ActiveOut-of-the-box integration runtime executing polling and webhook tasks.
Connectors Outbound❌ Omitted🟢 ActiveIntegration engine triggered by active workflow milestones to fetch external APIs.
Identity / Keycloak❌ Omitted🟢 ActiveCentralized Identity Access Management (IAM) handling OAuth2 authentication.
Web Modeler❌ Omitted🟢 OptionalEnterprise visual canvas for collaborative process blueprint design.
WATCH YOUR RESOURCES

The Heavyweight Full Stack requires a minimum allocation of 16GB RAM dedicated strictly to the Docker daemon. For local development environments with hardware overhead limitations, deploying the Lightweight C8Run instance is strictly recommended to mitigate kernel page thrashing.

Download the Camunda 8 Docker Compose archive from the Camunda Distributions releases and extract the whole folder. Keep .env, configuration/, and the hidden config directories. A lone Compose file is not enough.

From the extracted directory run:

docker compose up -d

The first boot can take a few minutes. docker compose ps shows whether the services are healthy. docker compose logs -f orchestration connectors follows the lightweight startup.

Three Compose files​

FileUse it when
docker-compose.yamlYou want the default: Orchestration Cluster, Connectors, and file-based H2.
docker-compose-full.yamlYou also want Optimize, Camunda Hub, Management Identity, Keycloak, PostgreSQL, and Elasticsearch.
docker-compose-hub.yamlYou only want Camunda Hub, with no Orchestration Cluster.

The full stack starts with:

docker compose -f docker-compose-full.yaml up -d

PostgreSQL in that file holds Hub and Identity data, not the Orchestration Cluster. Elasticsearch is there for Optimize.

To stop the stack and delete its data:

docker compose down -v
One does not simply use the -v flag

-v removes volumes, process data, users, and anything else the containers stored. Don't use it if you plan to keep your work!

For the full file or the Hub-only file, pass the same -f you used to start.

Open the apps​

Web UIs on these local setups sign in with demo / demo.

AppAddressDescription
Operatehttp://localhost:8080/operateMonitor and troubleshoot process instances.
Tasklisthttp://localhost:8080/tasklistComplete user tasks in running process instances.
Adminhttp://localhost:8080/adminManage users and permissions in the lightweight configuration.
REST APIhttp://localhost:8080/v2REST API for process automation.
gRPClocalhost:26500gRPC API for high-performance process automation.

The full Compose file adds Optimize at http://localhost:8083, Management Identity at http://localhost:8084, and Camunda Hub at http://localhost:8070. Keycloak on that setup uses admin / admin.

Model in Desktop Modeler and deploy to the local cluster. With the full Compose file, you can model in Camunda Hub instead.

Source​

Summarized from the developer quickstarts for Camunda 8 Run and Docker Compose.