-
Notifications
You must be signed in to change notification settings - Fork 263
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
342 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,59 @@ | ||
# camunda-platform | ||
Camunda Platform 8 | ||
# Camunda Platform 8 | ||
|
||
This repository contains links to Camunda Platform 8 resources, the offical release artifacts and a [docker-compose.yaml](docker-compose.yaml) file for local development. | ||
|
||
- [Documentation](https://docs.camunda.io) | ||
- [Camunda Platform SaaS](https://camunda.io) | ||
- [Getting Started Guide](https://github.com/camunda/camunda-platform-get-started) | ||
- [Releases](https://github.com/camunda/camunda-platform/releases) | ||
- [Zeebe Workflow Engine](https://github.com/camunda/zeebe) | ||
- [Contact](https://docs.camunda.io/contact/) | ||
|
||
## Using docker-compose | ||
|
||
To stand-up a complete Camunda Platform 8 Self-Managed environment locally the [docker-compose.yaml](docker-compose.yaml) file in this repository can be used. | ||
|
||
The full enviornment contains these components: | ||
- Zeebe | ||
- Operate | ||
- Tasklist | ||
- Optimize | ||
- Identity | ||
- Elasticsearch | ||
- KeyCloak | ||
|
||
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`: | ||
- Zeebe: [http://localhost:26500](http://localhost:26500) | ||
- Operate: [http://localhost:8081](http://localhost:8081) | ||
- Tasklist: [http://localhost:8082](http://localhost:8082) | ||
- Optimize: [http://localhost:8083](http://localhost:8083) | ||
- Identity: [http://localhost:8084](http://localhost:8084) | ||
- Elasticsearch: [http://localhost:9200](http://localhost:9200) | ||
- KeyCloak: [http://localhost:18080](http://localhost:18080) | ||
|
||
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](docker-compose-core.yaml) instead which does not include these components: | ||
|
||
``` | ||
docker-compose -f docker-compose-core.yml up -d | ||
``` | ||
|
||
Zeebe, Operate, Tasklist, along with Optimize require a separate network from Identity as you'll see in the docker-compose file. Feedback and updates are welcome! | ||
|
||
# Camunda Platform 7 | ||
|
||
- [Documentation](https://docs.camunda.org/) | ||
- [GitHub](https://docs.camunda.org/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# While the Docker images themselves are supported for production usage, | ||
# this docker-compose.yaml is designed to be used by developers to run | ||
# an environment locally. It is not designed to be used in production. | ||
# We recommend to use Kubernetes in production with our Helm Charts: | ||
# https://docs.camunda.io/docs/self-managed/platform-deployment/kubernetes-helm/ | ||
# For local development, we recommend using KIND instead of `docker-compose`: | ||
# https://docs.camunda.io/docs/self-managed/platform-deployment/kubernetes-helm/#installing-the-camunda-helm-chart-locally-using-kind | ||
|
||
# This is a lightweight configuration with Zeebe, Operate, Tasklist, and Elasticsearch | ||
# See docker-compose.yml for a configuration that also includes Optimize, Identity, and Keycloak. | ||
|
||
services: | ||
|
||
zeebe: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#zeebe | ||
image: camunda/zeebe:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: zeebe | ||
ports: | ||
- "26500:26500" | ||
- "9600:9600" | ||
environment: # https://docs.camunda.io/docs/self-managed/zeebe-deployment/configuration/environment-variables/ | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_CLASSNAME=io.camunda.zeebe.exporter.ElasticsearchExporter | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_URL=http://elasticsearch:9200 | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1 | ||
# allow running with low disk space | ||
- ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK=0.998 | ||
- ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK=0.999 | ||
- "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m" | ||
restart: always | ||
volumes: | ||
- zeebe:/usr/local/zeebe/data | ||
networks: | ||
- camunda-platform | ||
depends_on: | ||
- elasticsearch | ||
|
||
operate: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#operate | ||
image: camunda/operate:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: operate | ||
ports: | ||
- "8081:8080" | ||
environment: # https://docs.camunda.io/docs/self-managed/operate-deployment/configuration/ | ||
- CAMUNDA_OPERATE_ZEEBE_GATEWAYADDRESS=zeebe:26500 | ||
- CAMUNDA_OPERATE_ELASTICSEARCH_URL=http://elasticsearch:9200 | ||
- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200 | ||
networks: | ||
- camunda-platform | ||
depends_on: | ||
- zeebe | ||
- elasticsearch | ||
|
||
tasklist: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#tasklist | ||
image: camunda/tasklist:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: tasklist | ||
ports: | ||
- "8082:8080" | ||
environment: # https://docs.camunda.io/docs/self-managed/tasklist-deployment/configuration/ | ||
- CAMUNDA_TASKLIST_ZEEBE_GATEWAYADDRESS=zeebe:26500 | ||
- CAMUNDA_TASKLIST_ELASTICSEARCH_URL=http://elasticsearch:9200 | ||
- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200 | ||
networks: | ||
- camunda-platform | ||
depends_on: | ||
- zeebe | ||
- elasticsearch | ||
|
||
elasticsearch: # https://hub.docker.com/_/elasticsearch | ||
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION:-7.17.0} | ||
container_name: elasticsearch | ||
ports: | ||
- "9200:9200" | ||
- "9300:9300" | ||
environment: | ||
- bootstrap.memory_lock=true | ||
- discovery.type=single-node | ||
# allow running with low disk space | ||
- cluster.routing.allocation.disk.threshold_enabled=false | ||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||
ulimits: | ||
memlock: | ||
soft: -1 | ||
hard: -1 | ||
restart: always | ||
healthcheck: | ||
test: [ "CMD-SHELL", "curl -f http://localhost:9200/_cat/health | grep -q green" ] | ||
interval: 30s | ||
timeout: 5s | ||
retries: 3 | ||
volumes: | ||
- elastic:/usr/share/elasticsearch/data | ||
networks: | ||
- camunda-platform | ||
|
||
volumes: | ||
zeebe: | ||
elastic: | ||
|
||
networks: | ||
camunda-platform: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
# While the Docker images themselves are supported for production usage, | ||
# this docker-compose.yaml is designed to be used by developers to run | ||
# an environment locally. It is not designed to be used in production. | ||
# We recommend to use Kubernetes in production with our Helm Charts: | ||
# https://docs.camunda.io/docs/self-managed/platform-deployment/kubernetes-helm/ | ||
# For local development, we recommend using KIND instead of `docker-compose`: | ||
# https://docs.camunda.io/docs/self-managed/platform-deployment/kubernetes-helm/#installing-the-camunda-helm-chart-locally-using-kind | ||
|
||
# This is a full configuration with Zeebe, Operate, Tasklist, Optimize, Identity, Keycloak, and Elasticsearch | ||
# See docker-compose-core.yml for a lightweight configuration that does not include Optimize, Identity, and Keycloak. | ||
|
||
services: | ||
|
||
zeebe: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#zeebe | ||
image: camunda/zeebe:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: zeebe | ||
ports: | ||
- "26500:26500" | ||
- "9600:9600" | ||
environment: # https://docs.camunda.io/docs/self-managed/zeebe-deployment/configuration/environment-variables/ | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_CLASSNAME=io.camunda.zeebe.exporter.ElasticsearchExporter | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_URL=http://elasticsearch:9200 | ||
- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1 | ||
# allow running with low disk space | ||
- ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK=0.998 | ||
- ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK=0.999 | ||
- "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m" | ||
restart: always | ||
volumes: | ||
- zeebe:/usr/local/zeebe/data | ||
networks: | ||
- camunda-platform | ||
depends_on: | ||
- elasticsearch | ||
|
||
operate: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#operate | ||
image: camunda/operate:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: operate | ||
ports: | ||
- "8081:8080" | ||
environment: # https://docs.camunda.io/docs/self-managed/operate-deployment/configuration/ | ||
- CAMUNDA_OPERATE_ZEEBE_GATEWAYADDRESS=zeebe:26500 | ||
- CAMUNDA_OPERATE_ELASTICSEARCH_URL=http://elasticsearch:9200 | ||
- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200 | ||
# For more information regarding configuration with Identity see: | ||
# https://docs.camunda.io/docs/self-managed/operate-deployment/authentication/#identity | ||
- SPRING_PROFILES_ACTIVE=identity-auth | ||
- CAMUNDA_OPERATE_IDENTITY_ISSUER_URL=http://localhost:18080/auth/realms/camunda-platform | ||
- CAMUNDA_OPERATE_IDENTITY_ISSUER_BACKEND_URL=http://keycloak:8080/auth/realms/camunda-platform | ||
- CAMUNDA_OPERATE_IDENTITY_CLIENTID=operate | ||
- CAMUNDA_OPERATE_IDENTITY_CLIENTSECRET=XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
- CAMUNDA_OPERATE_IDENTITY_AUDIENCE=operate-api | ||
networks: | ||
- camunda-platform | ||
- identity-network | ||
depends_on: | ||
- zeebe | ||
- identity | ||
- elasticsearch | ||
|
||
tasklist: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#tasklist | ||
image: camunda/tasklist:${CAMUNDA_PLATFORM_VERSION:-8.0.0} | ||
container_name: tasklist | ||
ports: | ||
- "8082:8080" | ||
environment: # https://docs.camunda.io/docs/self-managed/tasklist-deployment/configuration/ | ||
- CAMUNDA_TASKLIST_ZEEBE_GATEWAYADDRESS=zeebe:26500 | ||
- CAMUNDA_TASKLIST_ELASTICSEARCH_URL=http://elasticsearch:9200 | ||
- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_URL=http://elasticsearch:9200 | ||
# For more information regarding configuration with Identity see: | ||
# https://docs.camunda.io/docs/self-managed/tasklist-deployment/authentication/#identity | ||
- SPRING_PROFILES_ACTIVE=identity-auth | ||
- CAMUNDA_TASKLIST_IDENTITY_ISSUER_URL=http://localhost:18080/auth/realms/camunda-platform | ||
- CAMUNDA_TASKLIST_IDENTITY_ISSUER_BACKEND_URL=http://keycloak:8080/auth/realms/camunda-platform | ||
- CAMUNDA_TASKLIST_IDENTITY_CLIENTID=tasklist | ||
- CAMUNDA_TASKLIST_IDENTITY_CLIENTSECRET=XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
- CAMUNDA_TASKLIST_IDENTITY_AUDIENCE=tasklist-api | ||
networks: | ||
- camunda-platform | ||
- identity-network | ||
depends_on: | ||
- zeebe | ||
- identity | ||
- elasticsearch | ||
|
||
optimize: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#optimize | ||
image: camunda/optimize:${CAMUNDA_OPTIMIZE_VERSION:-3.8.0} | ||
container_name: optimize | ||
ports: | ||
- "8083:8090" | ||
environment: # https://docs.camunda.io/docs/self-managed/optimize-deployment/setup/installation/#available-environment-variables | ||
- OPTIMIZE_ELASTICSEARCH_HOST=elasticsearch | ||
- OPTIMIZE_ELASTICSEARCH_HTTP_PORT=9200 | ||
- SPRING_PROFILES_ACTIVE=ccsm | ||
- CAMUNDA_OPTIMIZE_ZEEBE_ENABLED=true | ||
- CAMUNDA_OPTIMIZE_ENTERPRISE=false | ||
- CAMUNDA_OPTIMIZE_IDENTITY_ISSUER_URL=http://localhost:18080/auth/realms/camunda-platform | ||
- CAMUNDA_OPTIMIZE_IDENTITY_ISSUER_BACKEND_URL=http://keycloak:8080/auth/realms/camunda-platform | ||
- CAMUNDA_OPTIMIZE_IDENTITY_CLIENTID=optimize | ||
- CAMUNDA_OPTIMIZE_IDENTITY_CLIENTSECRET=XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
- CAMUNDA_OPTIMIZE_IDENTITY_AUDIENCE=optimize-api | ||
- CAMUNDA_OPTIMIZE_SECURITY_AUTH_COOKIE_SAME_SITE_ENABLED=false | ||
restart: on-failure | ||
networks: | ||
- camunda-platform | ||
- identity-network | ||
depends_on: | ||
- identity | ||
- elasticsearch | ||
|
||
identity: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#identity | ||
container_name: identity | ||
image: camunda/identity:8.0.0 | ||
ports: | ||
- "8084:8084" | ||
environment: # https://docs.camunda.io/docs/self-managed/identity/deployment/configuration-variables/ | ||
SERVER_PORT: 8084 | ||
KEYCLOAK_URL: http://keycloak:8080/auth | ||
IDENTITY_AUTH_PROVIDER_BACKEND_URL: http://keycloak:8080/auth/realms/camunda-platform | ||
KEYCLOAK_INIT_OPERATE_SECRET: XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
KEYCLOAK_INIT_OPERATE_ROOT_URL: http://localhost:8081 | ||
KEYCLOAK_INIT_TASKLIST_SECRET: XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
KEYCLOAK_INIT_TASKLIST_ROOT_URL: http://localhost:8082 | ||
KEYCLOAK_INIT_OPTIMIZE_SECRET: XALaRPl5qwTEItdwCMiPS62nVpKs7dL7 | ||
KEYCLOAK_INIT_OPTIMIZE_ROOT_URL: http://localhost:8083 | ||
KEYCLOAK_USERS_0_USERNAME: "demo" | ||
KEYCLOAK_USERS_0_PASSWORD: "demo" | ||
KEYCLOAK_USERS_0_FIRST_NAME: "demo" | ||
KEYCLOAK_USERS_0_ROLES_0: "Identity" | ||
KEYCLOAK_USERS_0_ROLES_1: "Optimize" | ||
KEYCLOAK_USERS_0_ROLES_2: "Operate" | ||
KEYCLOAK_USERS_0_ROLES_3: "Tasklist" | ||
restart: on-failure | ||
networks: | ||
- identity-network | ||
depends_on: | ||
- keycloak | ||
|
||
keycloak: # https://hub.docker.com/r/jboss/keycloak | ||
container_name: keycloak | ||
image: jboss/keycloak:${KEYCLOAK_VERSION:-16.1.1} | ||
ports: | ||
- "18080:8080" | ||
environment: | ||
KEYCLOAK_USER: admin | ||
KEYCLOAK_PASSWORD: admin | ||
networks: | ||
- identity-network | ||
|
||
elasticsearch: # https://hub.docker.com/_/elasticsearch | ||
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION:-7.17.0} | ||
container_name: elasticsearch | ||
ports: | ||
- "9200:9200" | ||
- "9300:9300" | ||
environment: | ||
- bootstrap.memory_lock=true | ||
- discovery.type=single-node | ||
# allow running with low disk space | ||
- cluster.routing.allocation.disk.threshold_enabled=false | ||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||
ulimits: | ||
memlock: | ||
soft: -1 | ||
hard: -1 | ||
restart: always | ||
healthcheck: | ||
test: [ "CMD-SHELL", "curl -f http://localhost:9200/_cat/health | grep -q green" ] | ||
interval: 30s | ||
timeout: 5s | ||
retries: 3 | ||
volumes: | ||
- elastic:/usr/share/elasticsearch/data | ||
networks: | ||
- camunda-platform | ||
|
||
volumes: | ||
zeebe: | ||
elastic: | ||
|
||
networks: | ||
# Note there are two bridge networks: One for Camunda Platform and one for Identity. | ||
# Operate, Tasklist, and Optimize use both | ||
camunda-platform: | ||
identity-network: |