- Vendor Google Fonts: 23 woff2 + localized fonts.css under public/fonts/, referenced via /fonts/fonts.css. Drop the googleapis/gstatic preconnects and the (now unused) Font Awesome CDN link. No runtime external resource requests remain. - Dockerfile copies public/fonts into the nginx image. - html base font-size 16 -> 17px (all rem UI text scales up slightly). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
645 B
Docker
29 lines
645 B
Docker
FROM node:20-alpine AS build-stage
|
|
WORKDIR /app
|
|
|
|
|
|
COPY package*.json ./
|
|
|
|
RUN npm install
|
|
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
|
|
FROM nginx:stable-alpine AS production-stage
|
|
|
|
RUN apk add --no-cache bash
|
|
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
|
|
COPY --from=build-stage /app/dist /usr/share/nginx/html
|
|
COPY --from=build-stage /app/public/icons /usr/share/nginx/html/icons
|
|
COPY --from=build-stage /app/public/fonts /usr/share/nginx/html/fonts
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY BuildConfig.sh /docker-entrypoint.d/10-build-config.sh
|
|
RUN chmod a+x /docker-entrypoint.d/10-build-config.sh
|
|
EXPOSE $FRONTEND_PORT
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|