FROM node:20-alpine AS build

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY angular.json tsconfig*.json server.js ./
COPY src ./src
COPY backend ./backend

RUN npm run build

FROM node:20-alpine AS runtime

WORKDIR /app
ENV NODE_ENV=production

COPY package*.json ./
RUN npm install --omit=dev

COPY --from=build /app/dist/frontend ./dist/frontend
COPY --from=build /app/server.js ./server.js
COPY --from=build /app/backend ./backend

EXPOSE 3000

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