1- networks :
2- zeebe_network : {}
3-
41services :
5- postgres :
6- container_name : postgres
7- image : postgres:17.5-alpine
8- ports :
9- - ' 5432:5432'
10- environment :
11- POSTGRES_DB : identity
12- POSTGRES_USER : identity
13- POSTGRES_PASSWORD : ' t2L@!AqSMg8%I%NmHM'
14- networks :
15- - zeebe_network
16-
17- elasticsearch :
18- image : docker.elastic.co/elasticsearch/elasticsearch:8.18.4
19- container_name : elasticsearch
20- profiles : ['elasticsearch']
21- environment :
22- - discovery.type=single-node
23- - cluster.name=elasticsearch
24- - bootstrap.memory_lock=true
25- - xpack.security.enabled=false
26- - ' ES_JAVA_OPTS=-Xms1024m -Xmx1024m'
27- - path.repo=/usr/local/els-snapshots
28- ulimits :
29- memlock :
30- soft : -1
31- hard : -1
32- ports :
33- - 9200:9200
34- - 9300:9300
35- networks :
36- - zeebe_network
37- restart : always
38- volumes :
39- - ./els-snapshots:/usr/local/els-snapshots
40-
41- opensearch :
42- image : opensearchproject/opensearch:2.17.0
43- container_name : opensearch
44- profiles : ['opensearch']
45- environment :
46- - cluster.name=opensearch-cluster
47- - discovery.type=single-node
48- - plugins.security.disabled=true
49- - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
50- - ' OPENSEARCH_JAVA_OPTS=-Xms1024m -Xmx1024m' # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
51- - OPENSEARCH_INITIAL_ADMIN_PASSWORD=yourStrongPassword123!
52- ulimits :
53- memlock :
54- soft : -1
55- hard : -1
56- nofile :
57- soft : 65536 # maximum number of open files for the OpenSearch user, set to at least 65536 on modern systems
58- hard : 65536
59- ports :
60- - 9200:9200
61- - 9605:9605 # required for Performance Analyzer
62- networks :
63- - zeebe_network
64-
65- kibana :
66- image : docker.elastic.co/kibana/kibana:8.18.4
67- profiles : ['elasticsearch']
68- ports :
69- - 5601:5601
2+ camunda :
3+ image : camunda/camunda:${CAMUNDA_VERSION}
4+ # If you want to override via env like the framework: set CAMUNDA_VERSION externally
5+ container_name : camunda-engine
6+ profiles : ['elasticsearch'] # only there for gh workflow
707 environment :
71- - elasticsearch.hosts=http://elasticsearch:9200
72- depends_on :
73- - elasticsearch
74- networks :
75- - zeebe_network
76-
77- keycloak :
78- depends_on :
79- - postgres
80- container_name : keycloak
81- image : quay.io/keycloak/keycloak:26.0
82- command : start-dev --http-relative-path=/auth
8+ SPRING_PROFILES_ACTIVE : ' broker,consolidated-auth'
9+ ZEEBE_CLOCK_CONTROLLED : ' true'
10+ ZEEBE_LOG_APPENDER : ' Stackdriver'
11+ CAMUNDA_SECURITY_AUTHENTICATION_UNPROTECTEDAPI : ' true'
12+ CAMUNDA_SECURITY_AUTHORIZATIONS_ENABLED : ' false'
13+ # H2 / in-memory config (mirrors H2Configuration)
14+ CAMUNDA_DATABASE_URL : ' jdbc:h2:mem:cpt;DB_CLOSE_DELAY=-1;MODE=PostgreSQL'
15+ CAMUNDA_DATABASE_TYPE : ' rdbms'
16+ CAMUNDA_DATABASE_USERNAME : ' sa'
17+ CAMUNDA_DATABASE_PASSWORD : ' '
18+ CAMUNDA_DATA_SECONDARY_STORAGE_TYPE : ' rdbms'
19+ ZEEBE_BROKER_EXPORTERS_RDBMS_CLASSNAME : ' io.camunda.exporter.rdbms.RdbmsExporter'
20+ ZEEBE_BROKER_EXPORTERS_RDBMS_ARGS_FLUSH_INTERVAL : ' PT0S'
21+ ZEEBE_BROKER_EXPORTERS_RDBMS_ARGS_DEFAULT_HISTORY_TTL : ' PT2S'
22+ ZEEBE_BROKER_EXPORTERS_RDBMS_ARGS_MIN_HISTORY_CLEANUP_INTERVAL : ' PT2S'
23+ ZEEBE_BROKER_EXPORTERS_RDBMS_ARGS_MAX_HISTORY_CLEANUP_INTERVAL : ' PT5S'
24+ LOGGING_LEVEL_IO_CAMUNDA_DB_RDBMS : ' INFO'
25+ LOGGING_LEVEL_ORG_MYBATIS : ' INFO'
8326 ports :
84- - ' 18080:8080'
85- environment :
86- KC_DB : postgres
87- KC_DB_URL : jdbc:postgresql://postgres:5432/identity
88- KC_DB_USERNAME : identity
89- KC_DB_PASSWORD : ' t2L@!AqSMg8%I%NmHM'
90- KEYCLOAK_ADMIN : admin
91- KEYCLOAK_ADMIN_PASSWORD : admin
27+ - ' 8080:8080' # REST API (ZEEBE_REST_ADDRESS -> http://localhost:8080)
28+ - ' 26500:26500' # gRPC Gateway
29+ - ' 9600:9600' # Monitoring / actuator / test time control
30+ # Uncomment if you need direct access to internal broker ports:
31+ # - "26501:26501" # Command API (internal)
32+ # - "26502:26502" # Internal API (internal)
9233 healthcheck :
93- test : ['CMD-SHELL', 'exec 3<>/dev/tcp/localhost/8080 && echo -e "GET /auth/ health/ready HTTP/1.1\nhost: localhost:8080\n" >&3 && timeout 1 cat <&3 | grep "200 OK"']
94- interval : 30s
95- timeout : 15s
96- retries : 8
97- start_period : 30s
34+ # Mimic readiness checks: uses monitoring port + health endpoint
35+ test : ['CMD', 'wget', '-qO', '-', 'http://localhost:9600/actuator/health/status']
36+ interval : 5s
37+ timeout : 3s
38+ retries : 30
9839 networks :
99- - zeebe_network
40+ - camunda-net
10041
101- camunda :
102- container_name : camunda
103- image : camunda/camunda:SNAPSHOT
104- environment :
105- - ' JAVA_TOOL_OPTIONS=-Xms512m -Xmx1g'
106- - ZEEBE_BROKER_NETWORK_HOST=camunda
107- - SPRING_PROFILES_ACTIVE=e2e-test,consolidated-auth,tasklist,broker,operate,identity
108- - CAMUNDA_SECURITY_AUTHENTICATION_UNPROTECTEDAPI=false
109- - CAMUNDA_SECURITY_AUTHORIZATIONS_ENABLED=true
110- - CAMUNDA_SECURITY_AUTHENTICATION_METHOD=BASIC
111- - CAMUNDA_SECURITY_MULTITENANCY_CHECKSENABLED=false
112- - CAMUNDA_SECURITY_INITIALIZATION_USERS_0_USERNAME=demo
113- - CAMUNDA_SECURITY_INITIALIZATION_USERS_0_PASSWORD=demo
114- - CAMUNDA_SECURITY_INITIALIZATION_USERS_0_NAME=Demo
115- - CAMUNDA_SECURITY_INITIALIZATION_USERS_0_EMAIL=demo@example.com
116- - CAMUNDA_SECURITY_INITIALIZATION_DEFAULTROLES_ADMIN_USERS_0=demo
117- - CAMUNDA_SECURITY_INITIALIZATION_USERS_1_USERNAME=lisa
118- - CAMUNDA_SECURITY_INITIALIZATION_USERS_1_PASSWORD=lisa
119- - CAMUNDA_SECURITY_INITIALIZATION_USERS_1_NAME=lisa
120- - CAMUNDA_SECURITY_INITIALIZATION_USERS_1_EMAIL=lisa@example.com
121- - CAMUNDA_SECURITY_INITIALIZATION_DEFAULTROLES_ADMIN_USERS_1=lisa
122- - CAMUNDA_DATA_SECONDARY_STORAGE_TYPE=elasticsearch
123- - CAMUNDA_DATA_SECONDARY_STORAGE_ELASTICSEARCH_URL=http://elasticsearch:9200
124- - CAMUNDA_DATA_SECONDARYSTORAGE_ELASTICSEARCH_WAITFORIMPORTERS=false
125- - CAMUNDA_TASKLIST_V2_MODE_ENABLED=${CAMUNDA_TASKLIST_V2_MODE_ENABLED:-true}
126- ports :
127- - 26500:26500
128- - 9600:9600
129- - 8080:8080
130- depends_on :
131- - ${DATABASE}
132- networks :
133- - zeebe_network
134- env_file :
135- - envs/.env.database.${DATABASE}
42+ # connectors:
43+ # image: camunda/connectors-bundle:SNAPSHOT
44+ # container_name: camunda-connectors
45+ # depends_on:
46+ # camunda:
47+ # condition: service_healthy
48+ # environment:
49+ # # Adapted from runtime: service name + internal port
50+ # ZEEBE_CLIENT_BROKER_GATEWAY-ADDRESS: "camunda:26500"
51+ # ZEEBE_CLIENT_SECURITY_PLAINTEXT: "true"
52+ # # Optional additional env you might pass via framework (placeholders):
53+ # # CONNECTORS_LOG_APPENDER: "Stackdriver"
54+ # # CAMUNDA_CLIENT_GRPC-ADDRESS: "camunda:26500"
55+ # # CAMUNDA_CLIENT_REST-ADDRESS: "http://camunda:8080"
56+ # ports:
57+ # - "8085:8080" # Expose connectors runtime (external 8085 -> internal 8080)
58+ # networks:
59+ # - camunda-net
60+
61+ networks :
62+ camunda-net :
63+ name : camunda-net
0 commit comments