From b7c5262c531da58b9ff6c8a9d2dad4c58769be11 Mon Sep 17 00:00:00 2001 From: gbpark Date: Tue, 7 Apr 2026 22:55:22 +0900 Subject: [PATCH] chore: drop backend-node from invyone docker stack invyone (= old TEST-VEX) is React + Java only; backend-node belongs to a different project (PMS) and was bundled by mistake. Remove the backend-node service from docker-compose.invyone.yml, drop the backend-node.Dockerfile, and clean up the now-unused frontend env vars that pointed at the node API. Co-Authored-By: Claude Opus 4.6 (1M context) --- docker/dev/backend-node.Dockerfile | 23 ------------ docker/dev/docker-compose.invyone.yml | 52 +++------------------------ 2 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 docker/dev/backend-node.Dockerfile diff --git a/docker/dev/backend-node.Dockerfile b/docker/dev/backend-node.Dockerfile deleted file mode 100644 index 7bf31912..00000000 --- a/docker/dev/backend-node.Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# 개발용 Node.js 백엔드 Dockerfile -# - 소스 코드는 volume mount 로 처리, nodemon 으로 자동 리로드 -# - oracledb 등 native 모듈 빌드를 위해 build base 설치 -FROM node:20-alpine - -WORKDIR /app - -# native 모듈(oracledb, bcryptjs, mssql 등) 빌드 + 헬스체크 + libaio (oracledb 런타임) -RUN apk add --no-cache python3 make g++ curl libaio libc6-compat - -# package.json / lock 만 먼저 복사해서 의존성 캐시 레이어 만들기 -COPY package*.json ./ - -# 개발 의존성 포함 설치 (nodemon, ts-node 필요) -RUN npm ci --prefer-offline --no-audit - -# 소스 코드는 volume mount 로 들어옴 - -# backend-node 기본 포트 (PORT env 로 override 가능, 기본 8080) -EXPOSE 8080 - -# nodemon 으로 ts 직접 실행 (nodemon.json 사용) -CMD ["npx", "nodemon"] diff --git a/docker/dev/docker-compose.invyone.yml b/docker/dev/docker-compose.invyone.yml index af642329..57302d71 100644 --- a/docker/dev/docker-compose.invyone.yml +++ b/docker/dev/docker-compose.invyone.yml @@ -1,12 +1,11 @@ -# invyone 풀세트 (frontend + backend-spring + backend-node) +# invyone (= 옛 TEST-VEX, React + Java 풀스택) 도커 컴포즈 # 사무실 우분투 호스팅용. restart unless-stopped 로 항상 떠있게. # # 외부 노출 포트: -# - frontend : 9772 -# - backend-spring : 8083 -# - backend-node : 8082 +# - frontend : 9772 +# - backend-spring : 8083 # -# 컨테이너 내부 포트는 각 앱의 기본값 유지 (3000 / 8081 / 8080) +# 컨테이너 내부 포트는 각 앱의 기본값 유지 (3000 / 8081) # 모드: dev (volume mount + 자동 리로드). 코드 변경은 syncthing 통해 동기화됨. # # 띄우기: @@ -50,46 +49,6 @@ services: retries: 3 start_period: 120s - # ======================== - # Node.js 백엔드 - # ======================== - backend-node: - build: - context: ../../backend-node - dockerfile: ../docker/dev/backend-node.Dockerfile - container_name: invyone-backend-node - ports: - - "8082:8080" - environment: - NODE_ENV: development - PORT: "8080" - HOST: "0.0.0.0" - TZ: Asia/Seoul - # vexplor_dev DB (backend-node 도 같은 DB 사용) - DATABASE_URL: postgresql://postgres:vexplor0909!!@211.115.91.141:11134/vexplor_dev - JWT_SECRET: ilshin-plm-super-secret-jwt-key-2024 - JWT_EXPIRES_IN: 24h - JWT_REFRESH_EXPIRES_IN: 7d - LOG_LEVEL: info - # 외부 DB 연결 비번 등 암호화에 사용되는 대칭 키 (dev 용) - ENCRYPTION_KEY: invyone-dev-encryption-key-change-in-prod - volumes: - # 소스 코드 마운트 (syncthing 동기화 즉시 반영) - - ../../backend-node:/app - # node_modules 는 컨테이너 내부 것 사용 (alpine 빌드된 native 모듈) - - /app/node_modules - # 업로드 파일은 호스트 디렉토리로 빠지지 않도록 컨테이너 내부 보관 - # (필요하면 named volume 으로 전환) - networks: - - invyone-net - restart: unless-stopped - healthcheck: - test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 60s - # ======================== # Next.js 프론트엔드 # ======================== @@ -104,10 +63,8 @@ services: NODE_ENV: development # 브라우저(클라이언트)에서 API 호출용 — 호스트에서 보이는 포트 NEXT_PUBLIC_API_URL: http://localhost:8083/api - NEXT_PUBLIC_NODE_API_URL: http://localhost:8082/api # 서버사이드(SSR) 호출용 — 컨테이너 네트워크 내부 이름 SERVER_API_URL: http://invyone-backend-spring:8081 - SERVER_NODE_API_URL: http://invyone-backend-node:8080 NODE_OPTIONS: --max-old-space-size=8192 NEXT_TELEMETRY_DISABLED: "1" WATCHPACK_POLLING: "true" @@ -117,7 +74,6 @@ services: - /app/.next depends_on: - backend-spring - - backend-node networks: - invyone-net restart: unless-stopped