FROM node:24-alpine

WORKDIR /app

# 필요한 패키지 설치
RUN apk add --no-cache curl

# 환경변수 설정
ENV NODE_ENV=production
ENV NODE_OPTIONS="--enable-source-maps"

# package.json 복사
COPY package*.json ./

# 의존성 설치 (devDependencies 포함 - nest CLI 필요)
RUN npm install --include=dev

# 소스 코드 복사
COPY . .

# NestJS 빌드
RUN npx nest build

# devDependencies 제거
RUN npm prune --production

# 포트 노출
EXPOSE 4000

# 애플리케이션 실행
CMD ["node", "dist/main.js"]
