FROM node:22-bookworm-slim AS base # Install pnpm RUN corepack enable && corepack prepare pnpm@9.15.9 --activate # Install git (needed for some dependencies) RUN apt-get update && \ apt-get install -y --no-install-recommends git && \ rm -rf /var/lib/apt/lists/* # Build stage FROM base AS build WORKDIR /app # Copy package files COPY package.json pnpm-lock.yaml ./ # Install ALL dependencies (including dev) for building RUN pnpm install --frozen-lockfile # Copy source code COPY . . # Build the app RUN pnpm run build # Production stage FROM base AS production WORKDIR /app # Copy package files COPY package.json pnpm-lock.yaml ./ # Install only production dependencies RUN pnpm install --prod --frozen-lockfile # Copy built files from build stage COPY --from=build /app/build ./build # Expose port EXPOSE 8788 # Start the app CMD ["pnpm", "start"]