From b9d6f089c9d47b8f5a000703b224fbdbb2065905 Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Mon, 28 Sep 2026 02:28:51 +0200 Subject: [PATCH] fix(docker): Prisma-Schema-Engine und OpenSSL im Tools-Image Der Migrations-initContainer scheiterte: "pnpm install --ignore-scripts" ueberspringt das postinstall von @prisma/engines, das die Schema-Engine fuer "prisma migrate deploy" herunterlaedt. Der Builder holt das jetzt mit "pnpm rebuild @prisma/engines prisma" nach. Zusaetzlich openssl in der Basisstufe, weil die Engine unter Alpine libssl braucht. Co-Authored-By: Claude Opus 5.5 (1M context) --- Dockerfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index aae9f99..d7a9378 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,9 @@ # Datenbankschema. FROM node:22.23.2-alpine3.24 AS base -RUN corepack enable +# openssl: die Prisma-Schema-Engine (migrate deploy) braucht libssl unter +# Alpine; Prisma waehlt anhand der installierten Version die passende Binary. +RUN apk add --no-cache openssl && corepack enable WORKDIR /app ENV NEXT_TELEMETRY_DISABLED=1 @@ -26,8 +28,12 @@ RUN pnpm install --frozen-lockfile --ignore-scripts FROM base AS builder COPY --from=deps /app/node_modules ./node_modules COPY . . +# Die Installation oben lief mit --ignore-scripts. Die Schema-Engine fuer +# "prisma migrate deploy" laedt aber erst das postinstall von @prisma/engines +# herunter — ohne diesen Schritt scheitert der Migrations-initContainer. # Zur Build-Zeit wird keine Datenbank und kein Secret benoetigt. -RUN mkdir -p public && pnpm prisma generate && pnpm next build +RUN pnpm rebuild @prisma/engines prisma \ + && mkdir -p public && pnpm prisma generate && pnpm next build # --- Laufzeit: Anwendung ------------------------------------------------------ FROM node:22.23.2-alpine3.24 AS runner