@@ -4,9 +4,9 @@ services:
44 image : postgres:16-alpine
55 restart : always
66 environment :
7- POSTGRES_USER : ${POSTGRES_USER}
8- POSTGRES_PASSWORD : ${POSTGRES_PASSWORD}
9- POSTGRES_DB : ${POSTGRES_DB}
7+ POSTGRES_USER : ${POSTGRES_USER:-myuser }
8+ POSTGRES_PASSWORD : ${POSTGRES_PASSWORD:-mypassword }
9+ POSTGRES_DB : ${POSTGRES_DB:-tt_db }
1010 POSTGRES_INITDB_ARGS : " -E UTF8 --locale=C"
1111 ports :
1212 - " ${POSTGRES_PORT:-5432}:5432"
@@ -15,7 +15,7 @@ services:
1515 networks :
1616 - common
1717 healthcheck :
18- test : [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER}" ]
18+ test : [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-myuser }" ]
1919 interval : 10s
2020 timeout : 5s
2121 retries : 5
@@ -48,9 +48,9 @@ services:
4848 - --save
4949 - " 60 10000"
5050 - --requirepass
51- - ${REDIS_PASSWORD:-your-password }
51+ - ${REDIS_PASSWORD:-tt_redis_pass }
5252 - --masterauth
53- - ${REDIS_PASSWORD:-your-password }
53+ - ${REDIS_PASSWORD:-tt_redis_pass }
5454 ports :
5555 - " 7000:7000"
5656 - " 17000:17000"
@@ -59,7 +59,7 @@ services:
5959 networks :
6060 - common
6161 healthcheck :
62- test : [ "CMD", "redis-cli", "-p", "7000", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
62+ test : [ "CMD", "redis-cli", "-p", "7000", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
6363 interval : 10s
6464 timeout : 5s
6565 retries : 5
@@ -91,9 +91,9 @@ services:
9191 - --save
9292 - " 60 10000"
9393 - --requirepass
94- - ${REDIS_PASSWORD:-your-password }
94+ - ${REDIS_PASSWORD:-tt_redis_pass }
9595 - --masterauth
96- - ${REDIS_PASSWORD:-your-password }
96+ - ${REDIS_PASSWORD:-tt_redis_pass }
9797 ports :
9898 - " 7001:7001"
9999 - " 17001:17001"
@@ -102,7 +102,7 @@ services:
102102 networks :
103103 - common
104104 healthcheck :
105- test : [ "CMD", "redis-cli", "-p", "7001", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
105+ test : [ "CMD", "redis-cli", "-p", "7001", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
106106 interval : 10s
107107 timeout : 5s
108108 retries : 5
@@ -134,9 +134,9 @@ services:
134134 - --save
135135 - " 60 10000"
136136 - --requirepass
137- - ${REDIS_PASSWORD:-your-password }
137+ - ${REDIS_PASSWORD:-tt_redis_pass }
138138 - --masterauth
139- - ${REDIS_PASSWORD:-your-password }
139+ - ${REDIS_PASSWORD:-tt_redis_pass }
140140 ports :
141141 - " 7002:7002"
142142 - " 17002:17002"
@@ -145,7 +145,7 @@ services:
145145 networks :
146146 - common
147147 healthcheck :
148- test : [ "CMD", "redis-cli", "-p", "7002", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
148+ test : [ "CMD", "redis-cli", "-p", "7002", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
149149 interval : 10s
150150 timeout : 5s
151151 retries : 5
@@ -177,9 +177,9 @@ services:
177177 - --save
178178 - " 60 10000"
179179 - --requirepass
180- - ${REDIS_PASSWORD:-your-password }
180+ - ${REDIS_PASSWORD:-tt_redis_pass }
181181 - --masterauth
182- - ${REDIS_PASSWORD:-your-password }
182+ - ${REDIS_PASSWORD:-tt_redis_pass }
183183 ports :
184184 - " 7003:7003"
185185 - " 17003:17003"
@@ -188,7 +188,7 @@ services:
188188 networks :
189189 - common
190190 healthcheck :
191- test : [ "CMD", "redis-cli", "-p", "7003", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
191+ test : [ "CMD", "redis-cli", "-p", "7003", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
192192 interval : 10s
193193 timeout : 5s
194194 retries : 5
@@ -220,9 +220,9 @@ services:
220220 - --save
221221 - " 60 10000"
222222 - --requirepass
223- - ${REDIS_PASSWORD:-your-password }
223+ - ${REDIS_PASSWORD:-tt_redis_pass }
224224 - --masterauth
225- - ${REDIS_PASSWORD:-your-password }
225+ - ${REDIS_PASSWORD:-tt_redis_pass }
226226 ports :
227227 - " 7004:7004"
228228 - " 17004:17004"
@@ -231,7 +231,7 @@ services:
231231 networks :
232232 - common
233233 healthcheck :
234- test : [ "CMD", "redis-cli", "-p", "7004", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
234+ test : [ "CMD", "redis-cli", "-p", "7004", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
235235 interval : 10s
236236 timeout : 5s
237237 retries : 5
@@ -263,9 +263,9 @@ services:
263263 - --save
264264 - " 60 10000"
265265 - --requirepass
266- - ${REDIS_PASSWORD:-your-password }
266+ - ${REDIS_PASSWORD:-tt_redis_pass }
267267 - --masterauth
268- - ${REDIS_PASSWORD:-your-password }
268+ - ${REDIS_PASSWORD:-tt_redis_pass }
269269 ports :
270270 - " 7005:7005"
271271 - " 17005:17005"
@@ -274,7 +274,7 @@ services:
274274 networks :
275275 - common
276276 healthcheck :
277- test : [ "CMD", "redis-cli", "-p", "7005", "-a", "${REDIS_PASSWORD:-your-password }", "ping" ]
277+ test : [ "CMD", "redis-cli", "-p", "7005", "-a", "${REDIS_PASSWORD:-tt_redis_pass }", "ping" ]
278278 interval : 10s
279279 timeout : 5s
280280 retries : 5
@@ -318,16 +318,22 @@ services:
318318 networks :
319319 - common
320320
321- # 환경변수 주입 방식:
322- # - Doppler 환경변수: doppler run 명령어로 메모리에서 직접 주입
323- # - Docker Compose 환경변수: 아래 environment에 명시
324-
325321 environment :
326- # Database 호스트 (Docker 네트워크 내부)
322+ # ✅ (핵심) prod 강제
323+ - SPRING_PROFILES_ACTIVE=prod
324+
325+ # ✅ (핵심) DB 접속을 localhost가 아니라 postgres 서비스로 강제
326+ - SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/${POSTGRES_DB:-tt_db}
327+ - SPRING_DATASOURCE_USERNAME=${POSTGRES_USER:-myuser}
328+ - SPRING_DATASOURCE_PASSWORD=${POSTGRES_PASSWORD:-mypassword}
329+
330+ # ✅ Redis 클러스터를 Spring이 확실히 인식하도록 표준 키로 주입
331+ - SPRING_DATA_REDIS_CLUSTER_NODES=redis-node-1:7000,redis-node-2:7001,redis-node-3:7002,redis-node-4:7003,redis-node-5:7004,redis-node-6:7005
332+ - SPRING_DATA_REDIS_PASSWORD=${REDIS_PASSWORD:-tt_redis_pass}
333+
334+ # (유지) 기존 커스텀 키가 앱에서 사용된다면 같이 둬도 됨
327335 - POSTGRES_HOST=postgres
328336 - POSTGRES_PORT=${POSTGRES_PORT:-5432}
329-
330- # Redis 클러스터 설정
331337 - REDIS_MODE=cluster
332338 - REDIS_CLUSTER_NODES=redis-node-1:7000,redis-node-2:7001,redis-node-3:7002,redis-node-4:7003,redis-node-5:7004,redis-node-6:7005
333339
@@ -395,8 +401,6 @@ services:
395401 - prometheus
396402 ports :
397403 - " 9093:9093"
398- environment :
399- - SLACK_WEBHOOK_URL=${SLACK_WEBHOOK_URL}
400404 volumes :
401405 - ./monitoring/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
402406 - alertmanager_data:/alertmanager
@@ -411,6 +415,8 @@ services:
411415 timeout : 10s
412416 retries : 3
413417
418+ # NOTE: redis_exporter는 멀티 주소/클러스터를 완전 지원하지 않는 경우가 많아서
419+ # 일단 한 노드만 붙도록(health 통과) 설정을 보수적으로 바꿈
414420 redis-exporter :
415421 image : oliver006/redis_exporter:v1.80.1
416422 restart : unless-stopped
@@ -420,8 +426,8 @@ services:
420426 ports :
421427 - " 9121:9121"
422428 environment :
423- - REDIS_ADDR=redis://redis-node-1:7000,redis://redis-node-2:7001,redis://redis-node-3:7002
424- - REDIS_PASSWORD=${REDIS_PASSWORD}
429+ - REDIS_ADDR=redis://redis-node-1:7000
430+ - REDIS_PASSWORD=${REDIS_PASSWORD:-tt_redis_pass }
425431 networks :
426432 - common
427433 healthcheck :
@@ -439,7 +445,7 @@ services:
439445 ports :
440446 - " 9187:9187"
441447 environment :
442- - DATA_SOURCE_NAME=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable
448+ - DATA_SOURCE_NAME=postgresql://${POSTGRES_USER:-myuser }:${POSTGRES_PASSWORD:-mypassword }@postgres:5432/${POSTGRES_DB:-tt_db }?sslmode=disable
443449 networks :
444450 - common
445451 healthcheck :
0 commit comments