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) <noreply@anthropic.com>
This commit is contained in:
2026-04-07 22:55:22 +09:00
parent a3872a271f
commit b7c5262c53
2 changed files with 4 additions and 71 deletions
-23
View File
@@ -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"]
+4 -48
View File
@@ -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