Camunda Platform Run

Camunda Platform Run is a pre-packaged distro of the Camunda Platform, including the Camunda webapps (Cockpit, Tasklist, Admin), the REST API and a bundled version of Swagger UI. Swagger UI is a web-GUI that allows you to explore the REST API endpoints of Camunda Platform Run.

The idea behind Run is to provide a full Camunda Platform distro with a simple but powerful configuration mechanism that can be operated by everyone, regardless of their knowledge about Java or application server configuration.

For a step-by-step installation guide head over to the installation section and get started in minutes.

Starting with Camunda Platform Run

After downloading the distro (enterprise) and unpacking it to a folder, you will find the following structure:

camunda-bpm-run
├── configuration/
│   ├── keystore/
│   │   └── put your SSL key store here if you want to use HTTPS
│   ├── resources/
│   │   └── put your BPMN files, forms and scripts here
│   ├── sql/
│   │   └── necessary SQL scripts to prepare your database system
│   ├── userlib/
│   │   └── put your database driver jar here
│   ├── default.yml
│   └── production.yml
├── internal/
├── start.bat
└── start.sh

Execute one of the two start scripts (start.bat for Windows, start.sh for Linux/Mac). After a few seconds, you will be able to access the Camunda webapps via http://localhost:8080/camunda/app/, the REST API via http://localhost:8080/engine-rest/ and Swagger UI via http://localhost:8080/swaggerui/

Starting Camunda Platform Run using Docker

Camunda Platform Run is also available as a Docker image. Please see the Run section of the Camunda Docker documentation here for more details.

Disable Webapps, REST API or Swagger UI

By default, Camunda Platform Run launches with the webapps, REST API and Swagger UI modules. If you want only a subset of them enabled, execute the start script through a command-line interface with any of the --webapps, --rest or --swaggerui properties to enable the specific module.

Choose between default and production configuration

Camunda Platform Run ships with two different configuration files which are both located in the configuration folder.

  • The default.yml configuration only contains necessary configuration like the H2 database, a demo user and CORS for REST calls from a client application.
  • The production.yml configuration is intended to provide the recommended properties according to the Security Instructions. When using Camunda Platform Run in a production environment, make sure to base your custom configuration on this one and carefully read through the security instructions.

By default, Run launches with the default.yml configuration. To enable the production.yml configuration, execute the start script, through a command-line interface, with the --production property. Using --production disables Swagger UI. It can be enabled by explicitly passing --swaggerui, however, it is not recommended to use Swagger UI in production.

Connect to a Database

Camunda Platform Run is pre-configured to use a file-based H2 database for testing. The database schema and all required tables are automatically created when the engine starts up for the first time. If you want to use a custom standalone database, follow these steps:

  1. Make sure your database is among the supported database systems.
  2. Create a database schema for the Camunda Platform yourself.
  3. Execute the SQL DDL scripts which create all required tables and default indices. The scripts can be found in the configuration/sql/create folder.
  4. Drop a JDBC driver jar for your database system in the configuration/userlib folder.
  5. Add the JDBC URL and login credentials to the configuration file like described below.
  6. Restart Camunda Platform Run

Deploy BPMN Models

In the unpacked distro, you will find a resources folder. All files (including BPMN, DMN, CMMN, form, and script files) will be deployed when you start Camunda Platform Run.

Deployments via the REST API are still possible.

Automatic License Pickup

If you downloaded the enterprise version of Camunda Platform Run, you will need a license key to enable the enterprise features. Please see the dedicated License section of the docs, to learn more.

Configure Camunda Platform Run

Just like all the other distros, you can tailor Camunda Platform Run to your needs. To do this, you only have to edit one of the configuration files that you can find in the configuration folder.

Note:

Camunda Platform Run is based on the Camunda Spring Boot Starter. All configuration properties from the camunda-spring-boot-starter are available to customize Camunda Platform Run.

Database

The distro comes with a file-based h2 database for testing. It is recommended to connect to a standalone database system for use in production.

Prefix Property name Description Default value
spring.datasource .url The jdbc URL for the database. -
.driver-class-name The class name of the JDBC driver for your database system. Remember to put the driver jar for your database system in configuration/userlib. -
.username The username for the database connection. -
.password The password for the database connection. -

Authentication

To add authentication to requests against the REST API, you can enable basic authentication.

Prefix Property name Description Default value
camunda.bpm.run.auth .enabled Switch to enable basic authentication for requests to the REST API. false
.authentication Authentication method, currently only basic is supported. basic

Cross-Origin Resource Sharing

If you want to allow cross-origin requests to the REST API, you need to enable CORS.

Prefix Property name Description Default value
camunda.bpm.run.cors .enabled Switch to enable CORS. false
.allowed-origins Origins that are allowed to make CORS requests. Multiple origins can be separated with commas. To support both HTTP authentication and CORS, allowed-origins must not be . To allow Camunda Modeler to deploy with authentication, including file:// in the allowed origins. (all origins, including file://)

LDAP Identity Service

Camunda Platform can manage users and authorizations on its own, but if you want to use an existing LDAP authentication database you can enable the LDAP Identity Service Plugin which provides read-only access to the LDAP repository.

Find all available configuration properties in the LDAP Plugin Guide

Prefix Property name Description Default value
camunda.bpm.run.ldap .enabled Switch to enable the LDAP identity service plugin. false

HTTPS

Camunda Platform Run supports HTTPS over SSL. To enable it, you will need a valid SSL certificate signed by a trusted provider and stored in a key store file (either .jks or .p12). For testing, we included a self-signed certificate. You should not use this in production. To enable it, add the following properties to your configuration file.

server:
  ssl:
    key-store: classpath:keystore.p12
    key-store-password: camunda
    key-store-type: pkcs12
    key-alias: camunda
    key-password: camunda
  port: 8443

After starting Camunda Platform Run, you can access the webapps via https://localhost:8443/camunda/app/ and the REST API via https://localhost:8443/engine-rest/.

Prefix Property name Description Default value
server.ssl .key-store Name of the key store file that holds the SSL certificate. This file must be placed in the configuration/keystore folder and has to be either a .jks or a .p12 file. -
.key-store-password Password to access the key store. -
.key-store-type Type of the key store. Can either be jks or p12 -
.key-alias Name that identifies the SSL certificate in the key store. -
.key-password Password to access the SSL certificate in the key store. -

Logging

Camunda Platform provides fine-grained and customizable logging. An overview of the available logging categories can be found in the Logging User Guide. To configure the logging behavior in Camunda Platform Run, customize your configuration file with the following properties.

For more information on logging configuration visit the Spring Boot Logging Guide.

Prefix Property name Description Default value
logging .level.root Set a logging level for all available logging categories. Value can be one of the following: OFF. ERROR. WARN. INFO. DEBUG. ALL -
.level.{logger-name} Set a logging level for a specific logging category. Find an overview over the available categories in the Logging User Guide. Value can be one of the following: OFF. ERROR. WARN. INFO. DEBUG. ALL -
.file.name Specify a log file location. (e.g. logs/camunda-bpm-run-log.txt) -

On this Page: