FROM node:24-alpine AS base
WORKDIR /app
COPY package.json /app/package.json
COPY backend/package.json /app/backend/package.json
RUN npm install --workspaces --include-workspace-root=false

FROM base AS build
COPY backend /app/backend
WORKDIR /app/backend
RUN npm run build

FROM node:24-alpine AS runtime
WORKDIR /app
ENV NODE_ENV=production
COPY --from=base /app/node_modules /app/node_modules
COPY --from=build /app/backend/dist /app/backend/dist
COPY backend/package.json /app/backend/package.json
WORKDIR /app/backend
USER node
EXPOSE 4000
CMD ["node", "dist/index.js"]
