• Stars
    star
    240
  • Rank 162,701 (Top 4 %)
  • Language
    TypeScript
  • Created about 2 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Links to Camunda Platform 8 resources, releases, and local development config

Camunda Platform 8

This repository contains links to Camunda Platform 8 resources, the official release artifacts (binaries), and supporting config files for running Docker Compose as a local development option.

⚠️ Docker Compose is only recommended for local development. ⚠️

We recommend using SaaS or Helm/Kubernetes for development.

For more information about Self-Managed, including additional development installation options, see our documentation.

For production setups we recommend using Helm charts which can be found at helm.camunda.io.

Links to additional Camunda Platform 8 repos and assets

Using docker-compose

ℹ️ The docker-compose file in this repository uses the latest compose specification, which was introduced with docker-compose version 1.27.0+. Please make sure to use an up-to-date docker-compose version.

ℹ️ Docker 20.10.16+ is required.

To spin up a complete Camunda Platform 8 Self-Managed environment locally the docker-compose.yaml file in this repository can be used.

The full environment contains these components:

  • Zeebe
  • Operate
  • Tasklist
  • Connectors
  • Optimize
  • Identity
  • Elasticsearch
  • Keycloak
  • PostgreSQL

ℹ️ Web Modeler is not included by default. Please follow the instructions below to install it.

Clone this repo and issue the following command to start your environment:

docker-compose up -d

Wait a few minutes for the environment to start up and settle down. Monitor the logs, especially the Keycloak container log, to ensure the components have started.

Now you can navigate to the different web apps and log in with the user demo and password demo:

Keycloak is used to manage users. Here you can log in with the user admin and password admin

The workflow engine Zeebe is available using gRPC at localhost:26500.

To tear down the whole environment run the following command:

docker-compose down -v

If Optimize, Identity, and Keycloak are not needed you can use the docker-compose-core.yaml instead which does not include these components:

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

Zeebe, Operate, Tasklist, along with Optimize require a separate network from Identity as you'll see in the docker-compose file.

In addition to the local environment setup with docker-compose, you can download the Camunda Desktop Modeler to locally model BPMN diagrams for execution and directly deploy them to your local environment. As an enterprise customer, you can use Web Modeler.

Feedback and updates are welcome!

Securing the Zeebe API

By default, the Zeebe GRPC API is publicly accessible without requiring any client credentials for development purposes.

You can however enable authentication of GRPC requests in Zeebe by setting the environment variable ZEEBE_AUTHENTICATION_MODE to identity, e.g. via running:

ZEEBE_AUTHENTICATION_MODE=identity docker-compose up -d

or by modifying the default value in the .env file.

Connectors

Both docker-compose files contain our out-of-the-box Connectors.

Refer to the Connector installation guide for details on how to provide the related Connector templates for modeling.

To inject secrets into the Connector runtime they can be added to the connector-secrets.txt file inside the repository in the format NAME=VALUE per line. The secrets will then be available in the Connector runtime with the format secrets.NAME.

To add custom Connectors either create a new docker image bundling them as described here.

Alternatively, you can mount new Connector JARs as volumes into the /opt/app folder by adding this to the docker-compose file. Keep in mind that the Connector JARs need to bring along all necessary dependencies inside the JAR.

Kibana

A kibana profile is available in the provided docker compose files to support inspection and exploration of the Camunda Platform 8 data in Elasticsearch. It can be enabled by adding --profile kibana to your docker compose command. In addition to the other components, this profile spins up Kibana. Kibana can be used to explore the records exported by Zeebe into Elasticsearch, or to discover the data in Elasticsearch used by the other components (e.g. Operate).

You can navigate to the Kibana web app and start exploring the data without login credentials:

Note You need to configure the index patterns in Kibana before you can explore the data.

  • Go to Management > Stack Management > Kibana > Index Patterns.
  • Create a new index pattern. For example, zeebe-record-* matches the exported records.
    • If you don't see any indexes then make sure to export some data first (e.g. deploy a process). The indexes of the records are created when the first record of this type is exported.
  • Go to Analytics > Discover and select the index pattern.

Web Modeler Self-Managed

ℹ️ Web Modeler Self-Managed is available to Camunda enterprise customers only.

The Docker images for Web Modeler are available in a private registry. Enterprise customers either already have credentials to this registry, or they can request access to this registry through their CSM contact at Camunda.

To run Camunda Platform with Web Modeler Self-Managed clone this repo and issue the following commands:

$ docker login registry.camunda.cloud
Username: your_username
Password: ******
Login Succeeded
$ docker-compose -f docker-compose.yaml -f docker-compose-web-modeler.yaml up -d

To tear down the whole environment run the following command

$ docker-compose -f docker-compose.yaml -f docker-compose-web-modeler.yaml down -v

If you want to delete everything (including any data you created). Alternatively, if you want to keep the data run:

$ docker-compose -f docker-compose.yaml -f docker-compose-web-modeler.yaml down

Login

You can access Web Modeler Self-Managed and log in with the user demo and password demo at http://localhost:8070.

Deploy or execute a process

Without authentication

Once you are ready to deploy or execute processes use these settings to deploy to the local Zeebe instance:

  • Authentication: None
  • URL: zeebe:26500

With Zeebe request authentication

If you enabled authentication for GRPC requests on Zeebe you need to provide client credentials when deploying and executing processes:

  • Authentication: OAuth
  • URL: zeebe:26500
  • Client ID: zeebe
  • Client secret: zecret
  • OAuth URL: http://keycloak:8080/auth/realms/camunda-platform/protocol/openid-connect/token
  • Audience: zeebe-api

Emails

The setup includes Mailpit as a test SMTP server. It captures all emails sent by Web Modeler, but does not forward them to the actual recipients.

You can access emails in Mailpit's Web UI at http://localhost:8075.

Troubleshooting

Submitting Issues

When submitting an issue on this repository, please make sure your issue is related to the docker compose deployment method of the Camunda Platform. All questions regarding to functionality of the web applications should be instead posted on the Camunda Forum. This is the best way for users to query for existing answers that others have already encountered. We also have a category on that forum specifically for Deployment Related Topics.

Running on arm64 based hardware

When using arm64-based hardware like a M1 or M2 Mac the Keycloak container might not start because Bitnami only provides amd64-based images. Until bitnami adds support for linux/arm64 images, you can build and tag an arm-based image locally using the following command. After building and tagging the image you can start the environment as described in Using docker-compose.

$ DOCKER_BUILDKIT=0 docker build -t bitnami/keycloak:19.0.3 "https://github.com/camunda/camunda-platform.git#main:.keycloak/"

Resource based authorizations

You can control access to specific processes and decision tables in Operate and Tasklist with resource based authorization.

This feature is disabled by default and can be enabled by setting RESOURCE_AUTHORIZATIONS_ENABLED to true, e.g. via running:

RESOURCE_AUTHORIZATIONS_ENABLED=true docker-compose up -d

or by modifying the default value in the .env file.

Read more about resource based authorizations in the documentation.

Camunda Platform 7

Looking for information on Camunda Platform 7? Check out the links below:

More Repositories

1

camunda-bpm-platform

Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Quarkus, Spring, Spring Boot, CDI.
Java
3,879
star
2

zeebe

Distributed Workflow Engine for Microservices Orchestration
Java
2,979
star
3

camunda-modeler

An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io.
JavaScript
1,451
star
4

camunda-bpm-examples

A collection of usage examples for Camunda Platform intended to get you started quickly
Java
1,003
star
5

docker-camunda-bpm-platform

Docker images for the camunda BPM platform
Shell
375
star
6

camunda-bpm-spring-boot-starter

Camunda BPM bootified!
Java
321
star
7

camunda-external-task-client-js

Implement your BPMN Service Task in NodeJS.
JavaScript
209
star
8

camunda-modeler-token-simulation-plugin

Token simulation as a plugin for the Camunda Modeler
JavaScript
167
star
9

camunda-modeler-plugins

Plugins for the Camunda Modeler.
JavaScript
161
star
10

camunda-bpmn.js

camunda BPMN 2.0 Javascript libraries
JavaScript
134
star
11

camunda-bpm-webapp

This codebase was merged with https://github.com/camunda/camunda-bpm-platform. Only maintenance branches are active.
128
star
12

feel-scala

FEEL parser and interpreter written in Scala
Scala
115
star
13

camunda-bpmn-js

Embeddable Camunda modeling distributions based on bpmn-js
JavaScript
92
star
14

camunda-docs-manual

Sources of the docs.camunda.org site
HTML
91
star
15

camunda-platform-get-started

Camunda Platform 8 - Get Started Projects
Java
88
star
16

camunda-bpm-assert

This project was moved to https://github.com/camunda/camunda-bpm-platform/tree/master/test-utils/assert
85
star
17

camunda-engine-dmn

Lightweight Execution Engine for DMN (Decision Model and Notation) written in Java.
Java
77
star
18

camunda-bpm-sdk-js

Javascript client library for connecting to camunda BPM REST Api
JavaScript
76
star
19

camunda-platform-helm

Camunda Platform 8 Self-Managed Helm charts
Go
68
star
20

camunda-bpmn-model

BPMN model API written in Java.
Java
66
star
21

camunda-bpmn-moddle

Camunda moddle extensions for BPMN 2.0
JavaScript
62
star
22

camunda-external-task-client-java

This codebase was merged with https://github.com/camunda/camunda-bpm-platform. Only some maintenance branches might still be active.
60
star
23

camunda-webapp-translations

This codebase was moved to https://github.com/camunda-community-hub/camunda-7-webapp-translations/. Only maintenance branches are active.
58
star
24

camunda-docs

Camunda 8 Documentation, including all components and features
MDX
47
star
25

bpmn-for-research

A collection of BPMN diagrams that can be used for research
JavaScript
39
star
26

zeebe-process-test

Testing project for Camunda Platform 8
Java
38
star
27

camunda-get-started-quickstart

Java
37
star
28

camunda-modeler-linter-plugin

Check your BPMN diagrams for common issues
JavaScript
37
star
29

dmn-scala

DMN engine written in Scala
Scala
33
star
30

camunda-spin

Simple API for working with complex data formats such as XML and JSON
Java
30
star
31

connectors

Camunda Connectors
Java
28
star
32

camunda-external-task-client-spring-boot

This codebase was merged with https://github.com/camunda/camunda-bpm-platform. Only some maintenance branches might still be active.
Java
26
star
33

camunda-get-started-spring-boot

Java
25
star
34

camunda-engine-unittest

Unit test template project for camunda engine
Java
25
star
35

camunda-connect

Reusable Java Connectors for HTTP and other things
Java
23
star
36

camunda-commons-ui

Common resources and libraries for camunda web applications
JavaScript
22
star
37

camunda-eclipse-plugin

The Camunda BPMN 2.0 modeling plugin for Eclipse
Java
21
star
38

camunda-archetypes

Maven Archetypes for Camunda BPM
HTML
20
star
39

vault-dump-kv2

Dump Hashicorp Vault KV version 2 inspired by https://github.com/shaneramey/vault-backup
Makefile
17
star
40

camunda-sso-snippets

Camunda BPM Webapp with SSO in for Wildfly/JBoss AS7
Java
15
star
41

zeebe-bpmn-moddle

Zeebe moddle extensions for BPMN 2.0
JavaScript
14
star
42

camunda-dmn-model

DMN model API written in Java.
Java
13
star
43

connector-sdk

SDK for building Camunda Connectors
Java
13
star
44

camunda-docs-theme

Less
13
star
45

technology-radars

🎯 Technology Radars for Camunda teams
13
star
46

camunda-modeler-process-io-specification-plugin

A plug-in that allows you to document input and output specifications for your BPMN processes.
JavaScript
12
star
47

camunda-cockpit-plugins-deprecated

Java
12
star
48

camunda-get-started-java

Get started with camunda BPM. Sources of the Getting Started Guide
Java
12
star
49

camunda-tasklist-ui

A web based interface for camunda BPM platform tasks.
11
star
50

camunda-optimize-examples

A collection of usage examples for Camunda Optimize intended to get you started quickly (e.g. with the plugin system).
Java
11
star
51

camunda-eclipse-standalone

A BPMN Modeler based on the Camunda Eclipse Plug-in
Java
10
star
52

camunda-get-started-spring

Getting Started with camunda BPM and the Spring Framework
Java
9
star
53

blog.camunda.org

The Camunda BPM Team Blog
JavaScript
9
star
54

element-templates-json-schema

JSON Schema for (Camunda) Element Templates
JavaScript
9
star
55

camunda-modeler-plugin-example

Plugin example for the Camunda Modeler. Use this as a starting point for creating your own plugins.
JavaScript
9
star
56

camunda-get-started-javaee

Get started with camunda BPM and Java EE 6. Sources of the Getting Started Guide
Java
9
star
57

connector-template-outbound

Template repository to create Camunda Platform 8 Connectors using Connector SDK
Java
9
star
58

camunda-modeler-custom-linter-rules-plugin

Add custom lint rules to the Camunda Modeler
JavaScript
8
star
59

camunda-docs-static

Contains all un-versioned sections of the documentation
HTML
8
star
60

camunda-platform-tutorials

Step-by-step tutorials to guide Camunda Platform 8 users to certain use cases end-to-end
Java
8
star
61

portainer-templates

Python
8
star
62

form-playground

Camunda Form Playground to simulate forms with input and output data.
JavaScript
5
star
63

bpmnlint-plugin-camunda

Camunda model guidelines, packed as a bpmnlint plug-in.
JavaScript
5
star
64

camunda-dmn-js

Embeddable Camunda modeling distributions based on dmn-js
JavaScript
5
star
65

camunda-get-started-cmmn

Java
4
star
66

camunda-commons

Set of generally useful Java libraries used by camunda open source projects
Java
4
star
67

bower-camunda-bpm-sdk-js

Bower packaging for https://github.com/camunda/camunda-bpm-sdk-js
JavaScript
4
star
68

camunda-release-parent

Pom which can be inherited for camunda releases defining some common release properties
4
star
69

github-backup

Utility for concurrent backups of GitHub organizations repositories.
Go
4
star
70

camunda-bpm-dropwizard

Java
4
star
71

issues

4
star
72

camunda-xml-model

Lightweight toolkit for implementing metamodels in Java
Java
3
star
73

infra-global-github-actions

Small Github Actions maintained by Infra team and used by other teams inside Camunda
Shell
3
star
74

connector-sendgrid

Camunda Cloud SendGrid Connector
Java
3
star
75

connector-kafka

Java
3
star
76

camunda-cockpit-ui

camunda Cockpit user interface
3
star
77

docpad-plugin-links

Advanced linking plugin for DocPad
CoffeeScript
3
star
78

camunda-admin-ui

camunda Admin user interface
3
star
79

camunda-docs-cawemo

HTML
3
star
80

camunda-cmmn-model

CMMN model API written in Java.
Java
3
star
81

camunda-get-started-dmn

Get started with DMN 1.1 and camunda BPM.
Java
3
star
82

connector-slack

Camunda Cloud Slack Connector
Java
2
star
83

camunda-cycle

The BPMN 2.0 roundtrip tool
Java
2
star
84

camunda-bpmn-js-behaviors

Camunda behaviors for bpmn-js
JavaScript
2
star
85

camunda-engine-dmn-benchmark

Benchmark for camunda DMN engine
Java
2
star
86

camunda-engine-dmn-unittest

Unit test template project for Camunda DMN engine
Java
2
star
87

infra-prometheus-statuspage-pusher

Poll Prometheus and update Statuspage component statuses
Go
2
star
88

linting

Linting for the Camunda Desktop and Web Modeler
JavaScript
2
star
89

connector-sqs

SQS Connector for C8
Java
2
star
90

connector-http-json

HTTP JSON Cloud Connector
Java
2
star
91

camunda-dmn-cloud-examples

Code Examples for Camunda DMN Cloud
Java
2
star
92

java-dependency-tree-diff

Adds a comment with the Java Dependency Tree Diff to a PR
Shell
2
star
93

camunda-template-engines-jsr223

JSR 223 compatible Script Engine wrapper for Java Freemarker Template Engine. Find community extensions in the community hub: https://github.com/camunda-community-hub/camunda-7-template-engines-jsr223.
Java
2
star
94

c8-multi-region

Test and configurations concerning c8-multi-region
Go
2
star
95

eslint-plugin-camunda-licensed

Common lint rules Camunda licensed OSS projects.
JavaScript
2
star
96

zeebe-connection-test

A zeebe connection test bed.
JavaScript
1
star
97

connector-google-drive

Java
1
star
98

camunda-bpm-archetype-cockpit-plugin

Java
1
star
99

bpmn-io_wp-plugin

PHP
1
star
100

camunda-bpm-archetype-spring-boot-demo

HTML
1
star