Harden frontend npm install against transient registry timeouts
This commit is contained in:
@@ -45,20 +45,22 @@ docker compose logs -f
|
||||
## Frontend Build Network Resilience
|
||||
|
||||
The frontend Dockerfile uses `node:22-slim` by default for improved npm network compatibility on IPv4-only Linux hosts.
|
||||
It also uses a BuildKit cache mount for npm package cache reuse across builds.
|
||||
|
||||
The frontend image build supports npm fetch tuning through environment-driven compose build args:
|
||||
|
||||
- `NPM_REGISTRY` (default `https://registry.npmjs.org/`)
|
||||
- `NPM_FETCH_RETRIES` (default `5`)
|
||||
- `NPM_FETCH_RETRY_MINTIMEOUT` (default `20000`)
|
||||
- `NPM_FETCH_RETRY_MAXTIMEOUT` (default `120000`)
|
||||
- `NPM_FETCH_TIMEOUT` (default `300000`)
|
||||
- `NPM_FETCH_RETRIES` (default `10`)
|
||||
- `NPM_FETCH_RETRY_MINTIMEOUT` (default `30000`)
|
||||
- `NPM_FETCH_RETRY_MAXTIMEOUT` (default `300000`)
|
||||
- `NPM_FETCH_TIMEOUT` (default `600000`)
|
||||
- `DOCKER_BUILD_NETWORK` (default `default`; set to `host` on Linux hosts when bridge-network npm fetches time out)
|
||||
|
||||
If frontend dependency downloads fail with npm `ETIMEDOUT` during `docker compose build`, keep defaults first, then try:
|
||||
If frontend dependency downloads fail with npm `ETIMEDOUT` during `docker compose build`, prefer cache-preserving rebuild commands first:
|
||||
|
||||
```bash
|
||||
DOCKER_BUILD_NETWORK=host docker compose build --no-cache frontend
|
||||
docker compose build frontend
|
||||
DOCKER_BUILD_NETWORK=host docker compose build frontend
|
||||
```
|
||||
|
||||
## Authentication Model
|
||||
|
||||
Reference in New Issue
Block a user