This chapter contains information for users who want to deploy and run Camunda 8 Self-Managed, typically in your self-controlled cloud (public or private) or even on your own hardware.
Camunda 8 includes the following components:
- Zeebe Broker and Gateway
- Operate (requiring Elasticsearch)
- Tasklist (requiring Elasticsearch)
- Connectors (requiring Operate)
- Optimize (requiring Elasticsearch and Identity)
- Identity (requiring Keycloak)
- Web Modeler (requiring Identity, Keycloak, and PostgreSQL) Enterprise only
All components except Web Modeler are single Java applications.
Depending on your needs, you might not need all the above components to successfully use Camunda 8.
For details on supported environments (e.g. Java or Elasticsearch versions), see supported environments.
You have the following options to run the above components in a self-managed fashion:
- Helm/Kubernetes: We strongly recommend using Kubernetes to run Camunda 8 in production. In addition to stock Kubernetes we also officially support variety of providers like Red Hat OpenShift and Amazon EKS. Also using Kubernetes with Minikube or KIND can be an interesting environment to run Camunda 8 locally on developer machines.
- Docker: You can run the provided Docker images of the components, also in production. For your convenience, we provide a Docker Compose configuration to run Camunda 8 on developer machines. Note that the Docker Compose configuration is not optimized for production usage, but for local development.
- Manual: You can run the Java applications on a local or virtual machine if it provides a supported Java Virtual Machine (JVM). This allows you to run Camunda on virtual machines or bare metal and offers a significant amount of flexibility. However, you will need to configure the details for the components to interact correctly yourself. We consider this a last resort. Note that Windows/Mac is not supported for production usage of Zeebe.
As you can see below, we recommend SaaS whenever possible, as Camunda does the heavy lifting and provides everything as a service for you. This provides peace of mind and allows you to concentrate on the important work. If SaaS is not an option, we have a strong opinion on how you should install Camunda 8, depending on the goal (production or development).
For production usage, we highly recommend using a real Kubernetes cluster and our Helm charts if SaaS provided by Camunda is not an option for you.
We support the following deployment options (the sequence expresses preference) for production:
- Helm/Kubernetes independent of where this is hosted, for example OpenShift, EKS, or GKE.
- Docker images together with the infrastructure as code (IaC) tool of your choice.
- Manual using the infrastructure as code (IaC) tool of your choice.
For development usage, we highly recommend using our Helm charts on KIND if SaaS provided by Camunda is not an option for you. Those Helm charts are battle-tested and give you an experience close to production.
We support the following deployment options (the sequence expresses preference) for development:
- Docker including Docker Compose, which is only recommended for development.
- Manual as a last resort if you only need the Zeebe broker. We don't recommend setting up the whole toolchain in this fashion.