build: öffentliche npm-Registry erzwingen (Fix für npm-ci/Apple-Mirror)

Wie im feuerwehr_dashboard:
- .npmrc mit registry=https://registry.npmjs.org/ (committet)
- Dockerfile deps-Stage: npm@11 pinnen + .npmrc kopieren; statt 'npm ci' nun
  'npm install' und den committeten Lockfile NICHT verwenden (er wurde gegen einen
  internen Mirror erzeugt -> apple-Artifactory-URLs -> auf dem Server nicht erreichbar).

Damit baut 'make up-core'/'make deploy' auf dem Server gegen die öffentliche Registry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude
2026-06-10 13:16:38 +02:00
parent f933ecc19e
commit 4863eadcce
2 changed files with 11 additions and 3 deletions

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
registry=https://registry.npmjs.org/

View File

@@ -9,9 +9,16 @@ ARG NODE_VERSION=22
# --- deps: Produktions- und Build-Abhängigkeiten installieren -----------------
FROM node:${NODE_VERSION}-alpine AS deps
WORKDIR /app
# Nur Manifeste kopieren -> Layer-Cache bleibt stabil, solange sich Deps nicht ändern.
COPY package.json package-lock.json ./
RUN npm ci
# node:alpine bündelt npm 10, das bei plattformfremden optionalen Transitiv-Deps
# (z. B. @node-rs/argon2 -> *-wasm32-wasi / @emnapi) strenger ist. npm 11 wie im
# feuerwehr_dashboard verwenden.
RUN npm install -g npm@11
# .npmrc erzwingt das ÖFFENTLICHE npm-Registry. Der committete Lockfile wurde
# gegen einen internen Mirror erzeugt (resolved-URLs zeigen dorthin, daher der
# npm-ci-Fehler) und wird im Build bewusst NICHT verwendet — Auflösung frisch aus
# der öffentlichen Registry (gleiches Vorgehen wie feuerwehr_dashboard/frontend).
COPY package.json .npmrc ./
RUN npm install --no-audit --no-fund
# --- builder: Next.js im Standalone-Modus bauen -------------------------------
FROM node:${NODE_VERSION}-alpine AS builder