9b1fb7388f
Standalone SSR image (Node 24 slim) and remote MF static image (nginx alpine), coexisting with legacy ASP.NET Dockerfile.
33 lines
687 B
React
33 lines
687 B
React
# Dockerfile.react — Multi-stage build for standalone SSR server
|
|
# Coexists with the legacy ASP.NET Dockerfile
|
|
|
|
# Stage 1: Install dependencies
|
|
FROM node:24-slim AS deps
|
|
WORKDIR /app
|
|
|
|
RUN corepack enable pnpm
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
# Stage 2: Build standalone target
|
|
FROM deps AS build
|
|
WORKDIR /app
|
|
|
|
COPY modern.config.ts module-federation.config.ts tsconfig.json ./
|
|
COPY src/ src/
|
|
|
|
RUN pnpm build:standalone
|
|
|
|
# Stage 3: Minimal production image
|
|
FROM node:24-slim AS runtime
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
COPY --from=build /app/dist/standalone/ ./dist/standalone/
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["node", "dist/standalone/index.js"]
|