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