## ----- Stage 1: Build Angular SSR App -----
FROM node:22-alpine AS build
WORKDIR /app

# Copy package files
COPY package.json package-lock.json ./

# Install dependencies
RUN npm ci

# Copy the rest of the code
COPY . .

# Build the Angular app for production
RUN npm run build

# ----- Stage 2: Serve SSR App -----
FROM node:22-alpine AS final

WORKDIR /app

# Copy the built assets from the build stage.
COPY --from=build /app/preview ./preview

# Expose the standard Angular SSR port
EXPOSE 4000

# Start the Node.js SSR server
CMD ["node", "preview/server/server.mjs"]