Skip to main content

Self-Managed setup

Install using Docker​

The camunda/optimize:8-latest Docker image can be used to run Optimize in Self-Managed as a container. Certain environment variables need to be set for this to work correctly. See below for an example of how this could be done as part of a docker-compose file:

optimize:
container_name: optimize
image: camunda/optimize:8-latest
ports:
- 8090:8090
environment:
- SPRING_PROFILES_ACTIVE=ccsm
- CAMUNDA_OPTIMIZE_IAM_ISSUER_URL=http://localhost:9090
- CAMUNDA_OPTIMIZE_IAM_CLIENTID=optimize
- CAMUNDA_OPTIMIZE_IAM_CLIENTSECRET=secret
- OPTIMIZE_ELASTICSEARCH_HOST=localhost
- OPTIMIZE_ELASTICSEARCH_HTTP_PORT=9200
- CAMUNDA_OPTIMIZE_SECURITY_AUTH_COOKIE_SAME_SITE_ENABLED=false
- CAMUNDA_OPTIMIZE_ENTERPRISE=false
- CAMUNDA_OPTIMIZE_ZEEBE_ENABLED=true
- CAMUNDA_OPTIMIZE_ZEEBE_NAME=zeebe-record
- CAMUNDA_OPTIMIZE_ZEEBE_PARTITION_COUNT=1
- CAMUNDA_OPTIMIZE_SHARING_ENABLED=false
- CAMUNDA_OPTIMIZE_UI_LOGOUT_HIDDEN=true

Some configuration properties are optional and have default values. See a description of these properties and their default values in the table below:

NameDescriptionDefault value
SPRING_PROFILES_ACTIVEDetermines the mode Optimize is to be run in. For Self-Managed, set to ccsm.
CAMUNDA_OPTIMIZE_IAM_ISSUER_URLThe URL at which IAM can be accessed by Optimize.
CAMUNDA_OPTIMIZE_IAM_CLIENTIDThe Client ID used to register Optimize with IAM.
CAMUNDA_OPTIMIZE_IAM_CLIENTSECRETThe secret used when registering Optimize with IAM.
OPTIMIZE_ELASTICSEARCH_HOSTThe address/hostname under which the Elasticsearch node is available.localhost
OPTIMIZE_ELASTICSEARCH_HTTP_PORTThe port number used by Elasticsearch to accept HTTP connections.9200
CAMUNDA_OPTIMIZE_SECURITY_AUTH_COOKIE_SAME_SITE_ENABLEDDetermines if same-site is enabled for Optimize cookies. This must be set to false.true
CAMUNDA_OPTIMIZE_ELASTICSEARCH_SECURITY_USERNAMEThe username for authentication in environments where a secured Elasticsearch connection is configured.null
CAMUNDA_OPTIMIZE_ELASTICSEARCH_SECURITY_PASSWORDThe password for authentication in environments where a secured Elasticsearch connection is configured.null
CAMUNDA_OPTIMIZE_ENTERPRISEThis should only be set to true if an Enterprise License has been acquired.true
CAMUNDA_OPTIMIZE_ZEEBE_ENABLEDEnables import of Zeebe data in Optimize.false
CAMUNDA_OPTIMIZE_ZEEBE_NAMEThe record prefix for exported Zeebe records.zeebe-record
CAMUNDA_OPTIMIZE_ZEEBE_PARTITION_COUNTThe number of partitions configured in Zeebe.1
CAMUNDA_OPTIMIZE_SHARING_ENABLEDDisables the sharing feature (this is not currently supported).false
CAMUNDA_OPTIMIZE_UI_LOGOUT_HIDDENDisables the logout button (logout is handled by IAM).1

Requirements​

Self-Managed Optimize must be able to connect to Elasticsearch to write and read data. In addition, Optimize needs to connect to IAM for authentication purposes. Both of these requirements can be configured with the options described above.

Optimize must also be configured as a client in IAM, and users will only be granted access to Optimize if they have a role that has write:* permission for Optimize.

For Optimize to import Zeebe data, Optimize must also be configured to be aware of the record prefix used when the records are exported to Elasticsearch. This can also be configured per the example above.