Join us September 22-23 for CamundaCon - a virtual conference dedicated to process automation

Icon Close REGISTER FOR FREE

What You Should Know About Using Camunda Platform Run in Production

Camunda Platform Run, or Camunda Run for short, is a lightweight distribution of Camunda Platform that works straight out-of-the-box and comes pre-configured for production environments. Camunda Run is an excellent option if you’re just getting started with Camunda, or if you’re ready to use Camunda Platform in production. You can download the open-source Community Edition for free, and easily upgrade to the Enterprise Edition to access more features and support options.

After you download and extract Camunda Run, you’ll find a configuration folder that contains a file called production.yml. The properties defined in this file are important for production environments and are derived from our guide to securing your Camunda Platform installation.

To start Camunda Run with the production.yml configuration, use a command line to execute start.bat (on Windows) or start.sh (on Unix) with the --production argument. If you omit the extra argument Camunda Run will start with the default configuration, which can also be found in the configuration folder.

Let’s look at some of the advanced options that are available for a production-ready installation of Camunda Platform Run.

Securing the REST API

It’s important to secure the REST API when using Camunda Run in production, especially if Camunda Platform will be exposed to the internet. Securing the REST API ensures that deploying a process model or interacting with any other REST endpoint requires valid credentials.

REST authentication is enabled by default in the production.yml file, but you can always double-check the configuration flag to be sure:

camunda.bpm:
  run:
    auth.enabled: true

Tip: Any time you change the configuration file, you’ll need to restart Camunda Run for the changes to be picked up.

Check out the documentation.

Interactive API documentation Camunda Platform Run

The recent Camunda Platform 7.15 release introduced Swagger UI as an easy way to read about and interact with the REST API, via the OpenAPI specification. For now, Swagger UI is only available in Camunda Run (not other distributions).

Swagger UI is usually used for development and testing purposes, so it’s disabled by default in the production.yml file. However, you can choose to start Camunda Run with Swagger UI enabled by using the --swaggerui argument. If you want to use the interactive features of Swagger UI (to make REST calls to your local installation), be sure to also include the --rest argument.

For example, on Windows:

start.bat --production --swaggerui --rest

Configure Cross-Origin Resource Sharing (CORS)

Most modern clients, such as web browsers, have a security feature that blocks requests from one server to load resources from another server. Cross-origin resource sharing (CORS) allows a server to indicate to the browser that resources from another origin should be allowed to load.

For example, let’s say you have a back-end system with a REST API and a front-end application with a graphical user interface. If the front-end application tries to access the REST API, a modern browser would block the request because it didn’t come from the back-end system. To ensure that your front-end application can access your back-end system, you have to explicitly enable CORS in the backend.

There are two properties involved:

camunda.bpm:
  run.cors:
    enabled: true
    allowed-origins: "*"

The enabled property enables CORS, and the allowed-origins property identifies which origins will be allowed to access the REST API. In this example, the asterisk means that all origins are allowed; but in the real world, you would specify exactly which origins are allowed.

Check out the documentation.

Enable custom script engines

Camunda Run makes it easy for you to use your favorite script engine, such as Python or Groovy. All you need to do is copy the script engine’s JAR file to the userlib directory and restart Camunda Run:

camunda-bpm-run
└── configuration/
    └── userlib/
       └── jython.jar

Check out the documentation.

Find out more about scripting.

Learn more