FROM node:20-alpine AS builder WORKDIR /app COPY package.json package-lock.json* ./ RUN npm ci COPY tsconfig.json ./ COPY src/ ./src/ RUN npm run build FROM node:20-alpine WORKDIR /app ENV NODE_ENV=production COPY package.json package-lock.json* ./ RUN npm ci --omit=dev COPY --from=builder /app/dist ./dist EXPOSE 3100 CMD ["node", "dist/index.js"]