Skip to content

Commit 1d36710

Browse files
ãpordrod강제설정 (#549)
1 parent 8aa6b5a commit 1d36710

1 file changed

Lines changed: 40 additions & 34 deletions

File tree

docker/docker-compose.yml

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)