FROM node:20-alpine AS builder

WORKDIR /app

COPY backend/package.json backend/package-lock.json* ./backend/
WORKDIR /app/backend
RUN npm install

COPY backend ./ 
RUN npx prisma generate
RUN npm run build

FROM node:20-alpine

WORKDIR /app/backend

COPY --from=builder /app/backend/package.json ./
COPY --from=builder /app/backend/package-lock.json* ./
COPY --from=builder /app/backend/node_modules ./node_modules
COPY --from=builder /app/backend/dist ./dist
COPY --from=builder /app/backend/prisma ./prisma

WORKDIR /app
COPY runtime ./runtime

WORKDIR /app/backend
EXPOSE 3000
CMD ["sh", "-c", "npx prisma migrate deploy && node dist/main.js"]
