-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
142 lines (132 loc) · 3.3 KB
/
Copy pathdocker-compose.yml
File metadata and controls
142 lines (132 loc) · 3.3 KB
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
130
131
132
133
134
135
136
137
138
139
140
141
142
services:
# ----------------------------------
# Core Application Databases/Services
# ----------------------------------
mongo:
image: mongo:7
container_name: datanadhi-mongo
ports:
- "27017:27017"
networks:
- datanadhi-net
volumes:
- mongo_data:/data/db
restart: unless-stopped
postgres:
image: postgres:16
container_name: datanadhi-postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: datanadhi_dev
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
networks:
- datanadhi-net
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
container_name: datanadhi-redis
ports:
- "6379:6379"
networks:
- datanadhi-net
volumes:
- redis_data:/data
restart: unless-stopped
# ----------------------------------
# Temporal Infrastructure
# ----------------------------------
temporal-postgres:
image: postgres:16
container_name: temporal-postgres
platform: linux/arm64/v8
environment:
POSTGRES_USER: temporal
POSTGRES_PASSWORD: temporal
POSTGRES_DB: temporal
ports:
- "5433:5432"
networks:
- datanadhi-net
volumes:
- temporal_pg_data:/var/lib/postgresql/data
- ./init-temporal-db.sh:/docker-entrypoint-initdb.d/init-temporal-db.sh
healthcheck:
test: ["CMD-SHELL", "pg_isready -U temporal -d temporal"]
interval: 5s
timeout: 5s
retries: 10
restart: unless-stopped
temporal:
image: temporalio/auto-setup:latest
container_name: datanadhi-temporal
platform: linux/amd64
environment:
- DB=postgres12
- POSTGRES_SEEDS=temporal-postgres
- POSTGRES_USER=temporal
- POSTGRES_PWD=temporal
- DBNAME=temporal
- VISIBILITY_DBNAME=temporal_visibility
ports:
- "7233:7233"
networks:
- datanadhi-net
depends_on:
temporal-postgres:
condition: service_healthy
restart: unless-stopped
entrypoint: /bin/sh
command:
- -c
- |
# Simple TCP wait since psql is not available
until nc -z temporal-postgres 5432; do
echo "Waiting for PostgreSQL..."
sleep 2
done
echo "PostgreSQL is up - starting Temporal"
exec /etc/temporal/entrypoint.sh
temporal-web:
image: temporalio/web:latest
container_name: datanadhi-temporal-web
platform: linux/amd64
environment:
TEMPORAL_GRPC_ENDPOINT: temporal:7233
TEMPORAL_PERMIT_WRITE_API: "true"
ports:
- "8088:8088"
networks:
- datanadhi-net
depends_on:
- temporal
restart: unless-stopped
minio:
image: minio/minio:latest
container_name: datanadhi-minio
ports:
- "9000:9000" # MinIO API
- "9001:9001" # MinIO console
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
command: server /data --console-address ":9001"
networks:
- datanadhi-net
volumes:
- ./data/minio:/data
# ----------------------------------
# Volumes & Networks
# ----------------------------------
volumes:
mongo_data:
postgres_data:
redis_data:
temporal_pg_data:
networks:
datanadhi-net:
external: true