Add Dockerfile.react and Dockerfile.remote for React build targets

Standalone SSR image (Node 24 slim) and remote MF static image (nginx alpine),
coexisting with legacy ASP.NET Dockerfile.
This commit is contained in:
2026-04-15 00:53:36 +03:00
parent 0f4180de14
commit 9b1fb7388f
2 changed files with 60 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# 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"]
+28
View File
@@ -0,0 +1,28 @@
# Dockerfile.remote — nginx-based static file server for remote MF artifact
# 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 remote target
FROM deps AS build
WORKDIR /app
COPY modern.config.ts module-federation.config.ts tsconfig.json ./
COPY src/ src/
RUN pnpm build:remote
# Stage 3: Serve static files with nginx
FROM nginx:alpine AS runtime
COPY --from=build /app/dist/remote/ /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]