Skip to content

Commit a8bcfe2

Browse files
환경변수 매칭 (#552)
* 환경변수 매칭 * Update docker-compose.yml
1 parent 5411322 commit a8bcfe2

1 file changed

Lines changed: 66 additions & 26 deletions

File tree

docker/docker-compose.yml

Lines changed: 66 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ services:
296296
redis-node-6:
297297
condition: service_healthy
298298
environment:
299-
- REDIS_PASSWORD=${REDIS_PASSWORD:-tt_redis_pass}
299+
REDIS_PASSWORD: ${REDIS_PASSWORD:-tt_redis_pass}
300300
volumes:
301301
- ./init-cluster.sh:/init-cluster.sh:ro
302302
command: sh /init-cluster.sh
@@ -319,23 +319,66 @@ services:
319319
- common
320320

321321
environment:
322-
# ✅ (핵심) prod 강제
323-
- SPRING_PROFILES_ACTIVE=prod
322+
# ===== Profile =====
323+
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-prod}
324324

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}
325+
# ===== DB (Spring 표준 키) =====
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}
329329

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}
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}
333333

334-
# (유지) 기존 커스텀 키가 앱에서 사용된다면 같이 둬도 됨
335-
- POSTGRES_HOST=postgres
336-
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
337-
- REDIS_MODE=cluster
338-
- 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
334+
# =====커스텀 키 =====
335+
POSTGRES_HOST: postgres
336+
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
337+
POSTGRES_USER: ${POSTGRES_USER:-myuser}
338+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mypassword}
339+
POSTGRES_DB: ${POSTGRES_DB:-tt_db}
340+
341+
REDIS_MODE: cluster
342+
REDIS_PASSWORD: ${REDIS_PASSWORD:-tt_redis_pass}
343+
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
344+
345+
# ===== Mail =====
346+
MAIL_HOST: ${MAIL_HOST}
347+
MAIL_PORT: ${MAIL_PORT}
348+
MAIL_USERNAME: ${MAIL_USERNAME}
349+
MAIL_PASSWORD: ${MAIL_PASSWORD}
350+
MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS}
351+
MAIL_FROM_NAME: ${MAIL_FROM_NAME}
352+
353+
# ===== Spring Mail Properties =====
354+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: ${SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH}
355+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: ${SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE}
356+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED: ${SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED}
357+
358+
# ===== AWS / S3 =====
359+
AWS_REGION: ${AWS_REGION}
360+
AWS_S3_BUCKET: ${AWS_S3_BUCKET}
361+
362+
# ===== JWT =====
363+
JWT_SECRET: ${JWT_SECRET}
364+
JWT_ACCESS_EXPIRATION: ${JWT_ACCESS_EXPIRATION}
365+
JWT_REFRESH_EXPIRATION: ${JWT_REFRESH_EXPIRATION}
366+
367+
# ===== Kakao OAuth =====
368+
KAKAO_CLIENT_ID: ${KAKAO_CLIENT_ID}
369+
KAKAO_CLIENT_SECRET: ${KAKAO_CLIENT_SECRET}
370+
KAKAO_ISSUER: ${KAKAO_ISSUER}
371+
KAKAO_REDIRECT_URI: ${KAKAO_REDIRECT_URI}
372+
KAKAO_TOKEN_URI: ${KAKAO_TOKEN_URI}
373+
KAKAO_USER_INFO_URI: ${KAKAO_USER_INFO_URI}
374+
375+
# ===== Slack =====
376+
SLACK_WEBHOOK_AUTH: ${SLACK_WEBHOOK_AUTH}
377+
378+
# ===== JPA / Hibernate =====
379+
DDL_AUTO: ${DDL_AUTO}
380+
SPRING_JPA_HIBERNATE_DDL_AUTO: ${SPRING_JPA_HIBERNATE_DDL_AUTO}
381+
SPRING_JPA_PROPERTIES_HIBERNATE_HBM2DDL_HALT_ON_ERROR: ${SPRING_JPA_PROPERTIES_HIBERNATE_HBM2DDL_HALT_ON_ERROR}
339382

340383
healthcheck:
341384
test: [ "CMD-SHELL", "wget --quiet --tries=1 --spider http://localhost:8080/actuator/health || exit 1" ]
@@ -378,10 +421,10 @@ services:
378421
ports:
379422
- "3001:3000"
380423
environment:
381-
- GF_SECURITY_ADMIN_USER=admin
382-
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin123!}
383-
- GF_USERS_ALLOW_SIGN_UP=false
384-
- GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3001}
424+
GF_SECURITY_ADMIN_USER: admin
425+
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD:-admin123!}
426+
GF_USERS_ALLOW_SIGN_UP: "false"
427+
GF_SERVER_ROOT_URL: ${GRAFANA_ROOT_URL:-http://localhost:3001}
385428
volumes:
386429
- ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro
387430
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro
@@ -401,8 +444,6 @@ services:
401444
- prometheus
402445
ports:
403446
- "9093:9093"
404-
environment:
405-
- SLACK_WEBHOOK_AUTH=${SLACK_WEBHOOK_AUTH}
406447
volumes:
407448
- ./monitoring/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
408449
- alertmanager_data:/alertmanager
@@ -417,8 +458,7 @@ services:
417458
timeout: 10s
418459
retries: 3
419460

420-
# NOTE: redis_exporter는 멀티 주소/클러스터를 완전 지원하지 않는 경우가 많아서
421-
# 일단 한 노드만 붙도록(health 통과) 설정을 보수적으로 바꿈
461+
# NOTE: redis_exporter는 멀티 주소/클러스터를 완전 지원하지 않는 경우가 많아서 한 노드만 붙임
422462
redis-exporter:
423463
image: oliver006/redis_exporter:v1.80.1
424464
restart: unless-stopped
@@ -428,8 +468,8 @@ services:
428468
ports:
429469
- "9121:9121"
430470
environment:
431-
- REDIS_ADDR=redis://redis-node-1:7000
432-
- REDIS_PASSWORD=${REDIS_PASSWORD:-tt_redis_pass}
471+
REDIS_ADDR: redis://redis-node-1:7000
472+
REDIS_PASSWORD: ${REDIS_PASSWORD:-tt_redis_pass}
433473
networks:
434474
- common
435475
healthcheck:
@@ -447,7 +487,7 @@ services:
447487
ports:
448488
- "9187:9187"
449489
environment:
450-
- DATA_SOURCE_NAME=postgresql://${POSTGRES_USER:-myuser}:${POSTGRES_PASSWORD:-mypassword}@postgres:5432/${POSTGRES_DB:-tt_db}?sslmode=disable
490+
DATA_SOURCE_NAME: postgresql://${POSTGRES_USER:-myuser}:${POSTGRES_PASSWORD:-mypassword}@postgres:5432/${POSTGRES_DB:-tt_db}?sslmode=disable
451491
networks:
452492
- common
453493
healthcheck:

0 commit comments

Comments
 (0)