From 484da97b2ef63a5e16b8b5dc26e31f522ad8f938 Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Wed, 19 Aug 2026 07:57:45 +0200 Subject: [PATCH] SQL and Seed into App --- Dockerfile | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7a8a35b..b36de0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,16 +67,17 @@ COPY scripts ./scripts COPY src/lib/db-adapter.ts ./src/lib/db-adapter.ts COPY src/lib/password-breach-check.ts ./src/lib/password-breach-check.ts COPY --from=builder /app/src/generated ./src/generated -# Eigener node_modules-Baum nur fuer Migrationen/Seed (prisma-CLI/tsx), -# getrennt vom node_modules des Next.js-Standalone-Outputs oben (das ist -# eine von Next.js kopierte, nicht pnpm-verwaltete Teilmenge — "pnpm add" -# wuerde dort kollidieren). PATH macht "prisma"/"tsx" ausfuehrbar, -# NODE_PATH ist ein Fallback fuer Node-Modulaufloesung, falls tsx beim -# Ausfuehren von prisma/seed.ts ein Paket braucht, das der Next.js-Tracer -# nicht schon ins Standalone-node_modules uebernommen hat. -COPY --chown=nextjs:nodejs --from=migrator /app/node_modules ./migrate-tools/node_modules -ENV PATH="/app/migrate-tools/node_modules/.bin:${PATH}" -ENV NODE_PATH="/app/migrate-tools/node_modules" +# Migrations-/Seed-Pakete (prisma-CLI/tsx/dotenv) DIREKT ins selbe +# node_modules wie der Next.js-Standalone-Output kopieren (ueberlagert dort +# nur exakt dieselben Paketversionen, die builder bereits fuer next/react +# aufgeloest hat) statt in einen separaten Baum + PATH/NODE_PATH-Trick: der +# generierte Prisma-Client + tsx nutzen Node's ESM-Modulaufloesung, die +# NODE_PATH schlicht ignoriert (nur ein CommonJS-"require()"-Feature) — +# fuehrte zu "Cannot find package '@prisma/client'" beim Seed-Lauf. Die +# normale node_modules-Huelle nach oben (von jeder Datei unter /app/ aus) +# funktioniert dagegen fuer beide Modulsysteme zuverlaessig. +COPY --chown=nextjs:nodejs --from=migrator /app/node_modules ./node_modules +ENV PATH="/app/node_modules/.bin:${PATH}" USER nextjs EXPOSE 3000