FROM node:24-alpine WORKDIR /app # 필요한 패키지 설치 RUN apk add --no-cache curl # 로그 버퍼링 완전 비활성화 ENV NODE_ENV=production ENV NODE_OPTIONS="--enable-source-maps --unhandled-rejections=strict" ENV NODE_NO_WARNINGS=0 # stdout 버퍼링 비활성화 ENV PYTHONUNBUFFERED=1 ENV NODE_DEBUG=* # package.json 복사 COPY package*.json ./ # 의존성 설치 (devDependencies 포함 - nest CLI 필요) RUN npm install --include=dev # 소스 코드 복사 (.env 포함) COPY . . # NestJS 빌드 (npx로 nest CLI 실행) RUN npx nest build # devDependencies 제거 (이미지 크기 줄이기) RUN npm prune --production # 포트 노출 EXPOSE 4000 # 애플리케이션 실행 (stdbuf로 버퍼링 우회) CMD ["node", "--enable-source-maps", "--unhandled-rejections=strict", "dist/main.js"]