From 4863eadcce5763f44a04b79c9b94202510a5ae39 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 10 Jun 2026 13:16:38 +0200 Subject: [PATCH] =?UTF-8?q?build:=20=C3=B6ffentliche=20npm-Registry=20erzw?= =?UTF-8?q?ingen=20(Fix=20f=C3=BCr=20npm-ci/Apple-Mirror)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .npmrc | 1 + Dockerfile | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..214c29d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +registry=https://registry.npmjs.org/ diff --git a/Dockerfile b/Dockerfile index 6de8f8c..cac9243 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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