Harden frontend npm install against transient registry timeouts

This commit is contained in:
2026-03-02 16:57:25 -03:00
parent 8f2c357bfc
commit daa11cb768
4 changed files with 22 additions and 16 deletions

View File

@@ -1,3 +1,5 @@
# syntax=docker/dockerfile:1.7
FROM node:22-slim AS base
ARG NPM_REGISTRY=https://registry.npmjs.org/
@@ -10,12 +12,14 @@ WORKDIR /app
COPY package.json /app/package.json
COPY package-lock.json /app/package-lock.json
RUN npm config set registry "${NPM_REGISTRY}" \
RUN --mount=type=cache,id=dcm-frontend-npm-cache,target=/root/.npm npm config set registry "${NPM_REGISTRY}" \
&& npm config set fetch-retries "${NPM_FETCH_RETRIES}" \
&& npm config set fetch-retry-mintimeout "${NPM_FETCH_RETRY_MINTIMEOUT}" \
&& npm config set fetch-retry-maxtimeout "${NPM_FETCH_RETRY_MAXTIMEOUT}" \
&& npm config set fetch-timeout "${NPM_FETCH_TIMEOUT}" \
&& NODE_OPTIONS=--dns-result-order=ipv4first npm ci --no-audit \
&& npm config set prefer-offline true \
&& npm config set progress false \
&& NODE_OPTIONS=--dns-result-order=ipv4first npm ci --no-audit --prefer-offline \
&& chown -R node:node /app
COPY --chown=node:node tsconfig.json /app/tsconfig.json