-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathdocker-compose.yml
129 lines (125 loc) · 3.42 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
version: "3.5"
services:
elasticsearch:
container_name: temporal-elasticsearch
environment:
- cluster.routing.allocation.disk.threshold_enabled=true
- cluster.routing.allocation.disk.watermark.low=512mb
- cluster.routing.allocation.disk.watermark.high=256mb
- cluster.routing.allocation.disk.watermark.flood_stage=128mb
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms256m -Xmx256m
- xpack.security.enabled=false
image: elasticsearch:${ELASTICSEARCH_VERSION}
networks:
- temporal-network
expose:
- 9200
volumes:
- /var/lib/elasticsearch/data
postgresql:
container_name: temporal-postgresql
environment:
POSTGRES_PASSWORD: temporal
POSTGRES_USER: temporal
image: postgres:${POSTGRESQL_VERSION}
networks:
- temporal-network
expose:
- 5432
ports:
- 5432:5432
volumes:
- /var/lib/postgresql/data
temporal:
container_name: temporal
depends_on:
- postgresql
- elasticsearch
environment:
- DB=postgresql
- DB_PORT=5432
- POSTGRES_USER=temporal
- POSTGRES_PWD=temporal
- POSTGRES_SEEDS=postgresql
- DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yaml
- ENABLE_ES=true
- ES_SEEDS=elasticsearch
- ES_VERSION=v7
- frontend.enableUpdateWorkflowExecution=true
- frontend.enableUpdateWorkflowExecutionAsyncAccepted=true
image: temporalio/auto-setup:${TEMPORAL_VERSION}
networks:
- temporal-network
ports:
- 7233:7233
labels:
kompose.volume.type: configMap
volumes:
- ./config/dynamicconfig:/etc/temporal/config/dynamicconfig
temporal-admin-tools:
container_name: temporal-admin-tools
depends_on:
- temporal
environment:
- TEMPORAL_CLI_ADDRESS=temporal:7233
image: temporalio/admin-tools:${TEMPORAL_VERSION}
networks:
- temporal-network
stdin_open: true
tty: true
temporal-ui:
container_name: temporal-ui
depends_on:
- temporal
environment:
- TEMPORAL_ADDRESS=temporal:7233
- TEMPORAL_CORS_ORIGINS=http://localhost:3000
image: temporalio/ui:${TEMPORAL_UI_VERSION}
networks:
- temporal-network
ports:
- 8080:8080
collector:
container_name: collector
image: otel/opentelemetry-collector-contrib:0.79.0
networks:
- temporal-network
command: [ "--config=/etc/otel-collector-config.yml" ]
ports:
- 4317:4317
- 4318:4318
volumes:
- ./docker/otel/otel-collector-config.yml:/etc/otel-collector-config.yml
zipkin:
container_name: zipkin
image: openzipkin/zipkin-slim
networks:
- temporal-network
ports:
- 9411:9411
app:
build:
dockerfile: docker/app/Dockerfile
context: ./
# volumes:
# - ./app:/var/app
depends_on:
- temporal
networks:
- temporal-network
environment:
- TEMPORAL_CLI_ADDRESS=temporal:7233
- TELEMETRY_DRIVER=otel
- OTEL_TRACES_EXPORTER=otlp
- OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
- OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4318
- OTEL_PHP_TRACES_PROCESSOR=simple
- TEMPORAL_HOST=temporal
- OTEL_HOST=collector
- INTERCEPTORS_RR_PATH=/var/app/rr
command: [ "/usr/local/bin/wait-for-temporal.sh", "temporal", "/var/app/rr", "serve" ]
networks:
temporal-network:
driver: bridge
name: temporal-network