# ---------- BUILD STAGE ----------
FROM node:18-alpine AS builder

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .
RUN npm run build


# ---------- PRODUCTION STAGE ----------
FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm install && npm cache clean --force

COPY --from=builder /app/dist ./dist
 
RUN mkdir -p /app/uploads

EXPOSE 5000

CMD ["node", "dist/server.js"]