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
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.
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
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.
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
- To learn more about the topics covered in this blog post, check out the Tips on how to build Camunda Run for production session from the Camunda Community Summit.
- Just getting started? Watch Get Started With Camunda Run.
- What’s next? Have a look at the configuration options offered through Camunda Platform Run and the underlying Camunda Spring Boot Starter.