From 69656a3a83cb1a1c3291765b952b8eb81474986d Mon Sep 17 00:00:00 2001 From: 42inshin Date: Tue, 1 Apr 2025 17:04:28 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[BE]=20FIX:=20logback=20aws=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/logback.xml | 45 ++++++++++--------- .../main/src/main/resources/logback.xml | 45 ++++++++++--------- 2 files changed, 48 insertions(+), 42 deletions(-) diff --git a/src/backend/chat-server/src/main/resources/logback.xml b/src/backend/chat-server/src/main/resources/logback.xml index ba195308..6da615f9 100644 --- a/src/backend/chat-server/src/main/resources/logback.xml +++ b/src/backend/chat-server/src/main/resources/logback.xml @@ -2,21 +2,6 @@ - - - [%thread] [%date] [%level] [%file:%line] - %msg%n - - kickzo-logs - kickzo-log - ap-northeast-1 - 50 - 30000 - 5000 - 0 - ${AWS_ACCESS_KEY} - ${AWS_SECRET_KEY} - - @@ -24,15 +9,33 @@ - - + + + + + [%thread] [%date] [%level] [%file:%line] - %msg%n + + kickzo-logs + kickzo-log + ap-northeast-1 + 50 + 30000 + 5000 + 0 + ${AWS_ACCESS_KEY} + ${AWS_SECRET_KEY} + + + + - - - + + + + - \ No newline at end of file + diff --git a/src/backend/main-server/main/src/main/resources/logback.xml b/src/backend/main-server/main/src/main/resources/logback.xml index ba195308..6da615f9 100644 --- a/src/backend/main-server/main/src/main/resources/logback.xml +++ b/src/backend/main-server/main/src/main/resources/logback.xml @@ -2,21 +2,6 @@ - - - [%thread] [%date] [%level] [%file:%line] - %msg%n - - kickzo-logs - kickzo-log - ap-northeast-1 - 50 - 30000 - 5000 - 0 - ${AWS_ACCESS_KEY} - ${AWS_SECRET_KEY} - - @@ -24,15 +9,33 @@ - - + + + + + [%thread] [%date] [%level] [%file:%line] - %msg%n + + kickzo-logs + kickzo-log + ap-northeast-1 + 50 + 30000 + 5000 + 0 + ${AWS_ACCESS_KEY} + ${AWS_SECRET_KEY} + + + + - - - + + + + - \ No newline at end of file + From 2f92b5262958af5b152db5e283dae3c91f02fc93 Mon Sep 17 00:00:00 2001 From: 42inshin Date: Tue, 1 Apr 2025 17:05:22 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[BE]=20FIX:=20m4=20=ED=99=98=EA=B2=BD?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20docker,=20compose=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=88=98=EC=A0=95=20#266?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/auth-server/docker-compose.yml | 2 ++ src/backend/chat-server/Dockerfile | 6 ++--- src/backend/chat-server/docker-compose.yml | 6 +++++ src/backend/elk/docker-compose-es.yml | 25 +++++++++++++------ src/backend/elk/docker-compose-kibana.yml | 17 +++++++------ src/backend/file-server/Dockerfile | 6 ++--- src/backend/history-server/Dockerfile | 4 +-- src/backend/kafka/docker-compose.yml | 19 ++++++++++++++ src/backend/main-server/main/Dockerfile | 4 +-- .../main-server/main/docker-compose.yml | 4 +++ src/backend/redis/docker-compose.yml | 6 +++++ src/backend/signaling-server/Dockerfile | 4 +-- src/backend/state-server/Dockerfile | 4 +-- src/backend/user-server/docker-compose.yml | 2 ++ 14 files changed, 80 insertions(+), 29 deletions(-) diff --git a/src/backend/auth-server/docker-compose.yml b/src/backend/auth-server/docker-compose.yml index 44f97b9e..4d60f654 100644 --- a/src/backend/auth-server/docker-compose.yml +++ b/src/backend/auth-server/docker-compose.yml @@ -9,6 +9,8 @@ services: depends_on: mysql: condition: service_healthy + redis: + condition: service_healthy ports: - "${AUTH_PORT}:${AUTH_PORT}" environment: diff --git a/src/backend/chat-server/Dockerfile b/src/backend/chat-server/Dockerfile index f90496f6..4951e2e7 100644 --- a/src/backend/chat-server/Dockerfile +++ b/src/backend/chat-server/Dockerfile @@ -1,5 +1,5 @@ # 1️⃣ 베이스 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim AS build +FROM amazoncorretto:17-alpine AS build # 2️⃣ 작업 디렉토리 설정 WORKDIR /app @@ -12,11 +12,11 @@ RUN chmod +x gradlew RUN ./gradlew build -x test # 5️⃣ 런타임 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim +FROM amazoncorretto:17-alpine WORKDIR /app # 6️⃣ 빌드된 JAR 파일 복사 COPY --from=build /app/build/libs/*.jar app.jar # 7️⃣ 컨테이너 실행 시 Spring Boot 애플리케이션 실행 -ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/src/backend/chat-server/docker-compose.yml b/src/backend/chat-server/docker-compose.yml index 8a71bd7e..5e9e9a7f 100644 --- a/src/backend/chat-server/docker-compose.yml +++ b/src/backend/chat-server/docker-compose.yml @@ -12,6 +12,9 @@ services: - "${CHAT_PORT_1}:${CHAT_PORT_1}" networks: - kickzo-network + depends_on: + kafka: + condition: service_healthy chat-2: build: @@ -24,6 +27,9 @@ services: - "${CHAT_PORT_2}:${CHAT_PORT_2}" networks: - kickzo-network + depends_on: + kafka: + condition: service_healthy networks: kickzo-network: diff --git a/src/backend/elk/docker-compose-es.yml b/src/backend/elk/docker-compose-es.yml index 2372d658..6c0f8474 100644 --- a/src/backend/elk/docker-compose-es.yml +++ b/src/backend/elk/docker-compose-es.yml @@ -16,24 +16,33 @@ services: volumes: - es-data:/usr/share/elasticsearch/data - ./elasticsearch-init.sh:/usr/share/elasticsearch/init.sh - entrypoint: [ "/bin/sh", "-c", "/usr/share/elasticsearch/init.sh & /usr/local/bin/docker-entrypoint.sh" ] + entrypoint: + [ + "/bin/sh", + "-c", + "/usr/share/elasticsearch/init.sh & /usr/local/bin/docker-entrypoint.sh", + ] ulimits: memlock: soft: -1 hard: -1 networks: - kickzo-network - restart: always + # ARM64 아키텍처 문제 해결을 위한 플랫폼 지정 + platform: linux/amd64 healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:9200/_cluster/health" ] - interval: 10s - timeout: 5s - retries: 10 - start_period: 10s + test: + [ + "CMD-SHELL", + 'curl -s http://localhost:9200/_cluster/health | grep -vq ''"status":"red"''', + ] + interval: 20s + timeout: 10s + retries: 5 volumes: es-data: networks: kickzo-network: - driver: bridge \ No newline at end of file + driver: bridge diff --git a/src/backend/elk/docker-compose-kibana.yml b/src/backend/elk/docker-compose-kibana.yml index 5aaba3a7..897754d6 100644 --- a/src/backend/elk/docker-compose-kibana.yml +++ b/src/backend/elk/docker-compose-kibana.yml @@ -16,16 +16,19 @@ services: networks: - kickzo-network healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:5601/api/status" ] - interval: 10s - timeout: 5s - retries: 10 - start_period: 10s - + test: + [ + "CMD-SHELL", + "curl -s -I http://localhost:5601/app/home | grep -q '200 OK'", + ] + interval: 20s + timeout: 10s + retries: 15 + start_period: 30s volumes: es-data: networks: kickzo-network: - driver: bridge \ No newline at end of file + driver: bridge diff --git a/src/backend/file-server/Dockerfile b/src/backend/file-server/Dockerfile index f90496f6..4951e2e7 100644 --- a/src/backend/file-server/Dockerfile +++ b/src/backend/file-server/Dockerfile @@ -1,5 +1,5 @@ # 1️⃣ 베이스 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim AS build +FROM amazoncorretto:17-alpine AS build # 2️⃣ 작업 디렉토리 설정 WORKDIR /app @@ -12,11 +12,11 @@ RUN chmod +x gradlew RUN ./gradlew build -x test # 5️⃣ 런타임 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim +FROM amazoncorretto:17-alpine WORKDIR /app # 6️⃣ 빌드된 JAR 파일 복사 COPY --from=build /app/build/libs/*.jar app.jar # 7️⃣ 컨테이너 실행 시 Spring Boot 애플리케이션 실행 -ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/src/backend/history-server/Dockerfile b/src/backend/history-server/Dockerfile index 6c24433d..4a0cb78f 100644 --- a/src/backend/history-server/Dockerfile +++ b/src/backend/history-server/Dockerfile @@ -1,9 +1,9 @@ # 베이스 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim +FROM amazoncorretto:17-alpine # 애플리케이션 파일을 컨테이너에 복사 ARG JAR_FILE=kickzo-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar # 애플리케이션 실행 -ENTRYPOINT ["java", "-jar", "/app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "/app.jar"] diff --git a/src/backend/kafka/docker-compose.yml b/src/backend/kafka/docker-compose.yml index cd37142e..9f425320 100644 --- a/src/backend/kafka/docker-compose.yml +++ b/src/backend/kafka/docker-compose.yml @@ -8,6 +8,12 @@ services: - "2181:2181" networks: - kickzo-network + healthcheck: + test: echo srvr | nc localhost 2181 || exit 1 + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s kafka: image: wurstmeister/kafka:latest @@ -26,6 +32,19 @@ services: - /var/run/docker.sock:/var/run/docker.sock networks: - kickzo-network + healthcheck: + test: + [ + "CMD-SHELL", + "/opt/kafka/bin/kafka-topics.sh --bootstrap-server kafka:${KAFKA_INTERNAL_PORT} --list", + ] + interval: 10s + timeout: 5s + retries: 5 + start_period: 15s + depends_on: + zookeeper: + condition: service_healthy networks: kickzo-network: diff --git a/src/backend/main-server/main/Dockerfile b/src/backend/main-server/main/Dockerfile index 9625f7de..394a8f9b 100644 --- a/src/backend/main-server/main/Dockerfile +++ b/src/backend/main-server/main/Dockerfile @@ -1,5 +1,5 @@ # 1️⃣ Java 21 LTS 기반 이미지 사용 -FROM eclipse-temurin:21-jdk AS build +FROM amazoncorretto:21-alpine AS build # 2️⃣ 작업 디렉토리 설정 WORKDIR /app @@ -12,7 +12,7 @@ RUN chmod +x gradlew RUN ./gradlew build -x test # 5️⃣ 실행을 위한 Java 21 런타임 이미지 -FROM eclipse-temurin:21-jdk-jammy +FROM amazoncorretto:21-alpine WORKDIR /app # 6️⃣ 빌드된 JAR 복사 diff --git a/src/backend/main-server/main/docker-compose.yml b/src/backend/main-server/main/docker-compose.yml index ab30b859..cd9cd174 100644 --- a/src/backend/main-server/main/docker-compose.yml +++ b/src/backend/main-server/main/docker-compose.yml @@ -24,6 +24,10 @@ services: condition: service_healthy kibana: condition: service_healthy + mysql: + condition: service_healthy + redis: + condition: service_healthy networks: - kickzo-network diff --git a/src/backend/redis/docker-compose.yml b/src/backend/redis/docker-compose.yml index 273be1f0..c3e9039e 100644 --- a/src/backend/redis/docker-compose.yml +++ b/src/backend/redis/docker-compose.yml @@ -6,6 +6,12 @@ services: container_name: redis ports: - "${REDIS_HOST_PORT}:${REDIS_CONTAINER_PORT}" + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 3s + retries: 3 + start_period: 5s networks: - kickzo-network volumes: diff --git a/src/backend/signaling-server/Dockerfile b/src/backend/signaling-server/Dockerfile index 9625f7de..394a8f9b 100644 --- a/src/backend/signaling-server/Dockerfile +++ b/src/backend/signaling-server/Dockerfile @@ -1,5 +1,5 @@ # 1️⃣ Java 21 LTS 기반 이미지 사용 -FROM eclipse-temurin:21-jdk AS build +FROM amazoncorretto:21-alpine AS build # 2️⃣ 작업 디렉토리 설정 WORKDIR /app @@ -12,7 +12,7 @@ RUN chmod +x gradlew RUN ./gradlew build -x test # 5️⃣ 실행을 위한 Java 21 런타임 이미지 -FROM eclipse-temurin:21-jdk-jammy +FROM amazoncorretto:21-alpine WORKDIR /app # 6️⃣ 빌드된 JAR 복사 diff --git a/src/backend/state-server/Dockerfile b/src/backend/state-server/Dockerfile index 5947b752..c651b8be 100644 --- a/src/backend/state-server/Dockerfile +++ b/src/backend/state-server/Dockerfile @@ -1,9 +1,9 @@ # 베이스 이미지로 OpenJDK 17 사용 -FROM openjdk:17-jdk-slim +FROM amazoncorretto:17-alpine # 애플리케이션 파일을 컨테이너에 복사 ARG JAR_FILE=state-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar # 애플리케이션 실행 -ENTRYPOINT ["java", "-jar", "/app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "/app.jar"] diff --git a/src/backend/user-server/docker-compose.yml b/src/backend/user-server/docker-compose.yml index 7641c824..2945bfe0 100644 --- a/src/backend/user-server/docker-compose.yml +++ b/src/backend/user-server/docker-compose.yml @@ -9,6 +9,8 @@ services: depends_on: mysql: condition: service_healthy + redis: + condition: service_healthy ports: - "${USER_PORT}:${USER_PORT}" environment: From f389eb461219a175769ce8894c956cdf0cbe2cff Mon Sep 17 00:00:00 2001 From: 42inshin Date: Tue, 1 Apr 2025 17:06:16 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[FE]=20FEAT:=20FE=20docker=EC=97=90=20?= =?UTF-8?q?=EB=9D=84=EC=9A=B8=20=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20#266?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/Dockerfile | 17 +++++++++++++++++ src/frontend/docker-compose.yml | 28 ++++++++++++++++++++++++++++ src/frontend/package.json | 1 + 3 files changed, 46 insertions(+) create mode 100644 src/frontend/Dockerfile create mode 100644 src/frontend/docker-compose.yml diff --git a/src/frontend/Dockerfile b/src/frontend/Dockerfile new file mode 100644 index 00000000..7275ac5d --- /dev/null +++ b/src/frontend/Dockerfile @@ -0,0 +1,17 @@ +FROM node:20.11-alpine + +WORKDIR /app + +# pnpm 설치 +RUN npm install -g pnpm + +# 락파일과 package.json 복사 +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install + +COPY . . + +EXPOSE 5173 + +# 명시적인 host와 port 설정 +CMD ["pnpm", "run", "dev:docker"] diff --git a/src/frontend/docker-compose.yml b/src/frontend/docker-compose.yml new file mode 100644 index 00000000..b6ea12af --- /dev/null +++ b/src/frontend/docker-compose.yml @@ -0,0 +1,28 @@ +name: kickzo-frontend + +services: + frontend: + build: + context: . + dockerfile: Dockerfile + container_name: kickzo-frontend + ports: + - '5173:5173' + volumes: + - .:/app + - /app/node_modules + environment: + - NODE_ENV=development + - VITE_IS_PROD=${VITE_IS_PROD:-false} + - VITE_API_URL=${VITE_API_URL:-http://localhost:8000/api} + - VITE_WEBSOCKET_URL=${VITE_WEBSOCKET_URL:-http://localhost:8000/api/chat/ws} + - VITE_YOUTUBE_API_KEY=${VITE_YOUTUBE_API_KEY} + - VITE_SENTRY_DSN=${VITE_SENTRY_DSN} + - SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN} + networks: + - kickzo-frontend-network + restart: unless-stopped + +networks: + kickzo-frontend-network: + driver: bridge diff --git a/src/frontend/package.json b/src/frontend/package.json index c4c32531..88fc2fa3 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "dev": "vite", + "dev:docker": "vite --host 0.0.0.0 --port 5173", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", From e73eae3fdaf47543b99d18ffe49ae512a7be4c73 Mon Sep 17 00:00:00 2001 From: 42inshin Date: Tue, 1 Apr 2025 17:11:20 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[INFRA]=20FEAT:=20FE=20makefile=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20#266?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/makefile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/makefile b/src/makefile index f12d2d48..88102874 100644 --- a/src/makefile +++ b/src/makefile @@ -8,7 +8,7 @@ PROFILES = --profile mock \ SERVICE ?= chat-service # 기본 컨테이너 이름 # 기본 대상 -.PHONY: all up down re mock logs build ps clean fclean help +.PHONY: all up down re mock logs build ps clean fclean help fe fe-down all: ## 전체 컨테이너 실행 docker compose -f $(DOCKER_COMPOSE_FILE) $(PROFILES) up -d @@ -48,6 +48,12 @@ fclean: ## 캐싱된 이미지, 볼륨, 네트워크 모두 제거 docker volume prune -f docker network prune -f +fe: ## 프론트엔드 컨테이너 실행 + docker compose -f ./frontend/docker-compose.yml up -d + +fe-down: ## 프론트엔드 컨테이너 중지 + docker compose -f ./frontend/docker-compose.yml down + help: ## 사용 가능한 명령어 표시 @echo "사용 가능한 명령어:" @echo " make all - 전체 컨테이너 실행" @@ -61,4 +67,5 @@ help: ## 사용 가능한 명령어 표시 @echo " make ps - 실행 중인 컨테이너 목록 확인" @echo " make clean - 모든 컨테이너, 네트워크 및 볼륨 제거" @echo " make fclean - 캐싱된 이미지, 볼륨, 네트워크 모두 제거" - @echo " make help - 사용 가능한 명령어 표시" + @echo " make fe - 프론트엔드 컨테이너 실행" + @echo " make fe-down - 프론트엔드 컨테이너 중지" From b1d6029df855a6e5df99574bfa57055ed7a951ed Mon Sep 17 00:00:00 2001 From: 42inshin Date: Tue, 1 Apr 2025 19:09:54 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[INFRA]=20FIX:=20=ED=97=AC=EC=8A=A4?= =?UTF-8?q?=EC=B2=B4=ED=81=AC=20=ED=83=80=EC=9D=B4=EB=B0=8D=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0=20#266?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/elk/docker-compose-es.yml | 7 ++++--- src/backend/elk/docker-compose-kibana.yml | 6 +++--- src/backend/kafka/docker-compose.yml | 16 ++++++++-------- src/backend/redis/docker-compose.yml | 4 ++-- src/backend/state-server/docker-compose.yml | 9 +++++++++ 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/backend/elk/docker-compose-es.yml b/src/backend/elk/docker-compose-es.yml index 6c0f8474..613305c6 100644 --- a/src/backend/elk/docker-compose-es.yml +++ b/src/backend/elk/docker-compose-es.yml @@ -36,9 +36,10 @@ services: "CMD-SHELL", 'curl -s http://localhost:9200/_cluster/health | grep -vq ''"status":"red"''', ] - interval: 20s - timeout: 10s - retries: 5 + interval: 5s + timeout: 3s + retries: 20 + start_period: 30s volumes: es-data: diff --git a/src/backend/elk/docker-compose-kibana.yml b/src/backend/elk/docker-compose-kibana.yml index 897754d6..5f89ecc0 100644 --- a/src/backend/elk/docker-compose-kibana.yml +++ b/src/backend/elk/docker-compose-kibana.yml @@ -21,9 +21,9 @@ services: "CMD-SHELL", "curl -s -I http://localhost:5601/app/home | grep -q '200 OK'", ] - interval: 20s - timeout: 10s - retries: 15 + interval: 5s + timeout: 3s + retries: 20 start_period: 30s volumes: diff --git a/src/backend/kafka/docker-compose.yml b/src/backend/kafka/docker-compose.yml index 9f425320..45c28d42 100644 --- a/src/backend/kafka/docker-compose.yml +++ b/src/backend/kafka/docker-compose.yml @@ -10,10 +10,10 @@ services: - kickzo-network healthcheck: test: echo srvr | nc localhost 2181 || exit 1 - interval: 10s - timeout: 5s - retries: 5 - start_period: 10s + interval: 5s + timeout: 3s + retries: 20 + start_period: 30s kafka: image: wurstmeister/kafka:latest @@ -38,10 +38,10 @@ services: "CMD-SHELL", "/opt/kafka/bin/kafka-topics.sh --bootstrap-server kafka:${KAFKA_INTERNAL_PORT} --list", ] - interval: 10s - timeout: 5s - retries: 5 - start_period: 15s + interval: 5s + timeout: 3s + retries: 20 + start_period: 30s depends_on: zookeeper: condition: service_healthy diff --git a/src/backend/redis/docker-compose.yml b/src/backend/redis/docker-compose.yml index c3e9039e..af1d4902 100644 --- a/src/backend/redis/docker-compose.yml +++ b/src/backend/redis/docker-compose.yml @@ -9,8 +9,8 @@ services: healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s - timeout: 3s - retries: 3 + timeout: 5s + retries: 10 start_period: 5s networks: - kickzo-network diff --git a/src/backend/state-server/docker-compose.yml b/src/backend/state-server/docker-compose.yml index 1c451f59..f5213106 100644 --- a/src/backend/state-server/docker-compose.yml +++ b/src/backend/state-server/docker-compose.yml @@ -10,6 +10,15 @@ services: - SERVER_PORT=${STATE_PORT} # server.port 설정 ports: - "${STATE_PORT}:${STATE_PORT}" + depends_on: + elasticsearch: + condition: service_healthy + kibana: + condition: service_healthy + mysql: + condition: service_healthy + redis: + condition: service_healthy networks: - kickzo-network