diff --git a/docker-compose.yml b/docker-compose.yml index f989cb0..9745a4b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: # ============================================ # keep-notes - Next.js Web Application diff --git a/keep-notes/Dockerfile b/keep-notes/Dockerfile index 166a038..16e6c1d 100644 --- a/keep-notes/Dockerfile +++ b/keep-notes/Dockerfile @@ -20,7 +20,11 @@ WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . -# Build Next.js with Webpack (NO Prisma generate here) +# Copy Prisma schema and generate client BEFORE Next.js build +COPY prisma ./prisma +RUN npx prisma generate + +# Build Next.js with Webpack ENV NEXT_TELEMETRY_DISABLED=1 RUN npm run build @@ -44,13 +48,10 @@ RUN chown nextjs:nodejs .next COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static -# Copy Prisma schema and node_modules (needed for generation in runner) +# Copy Prisma schema and generated client COPY --from=builder /app/prisma ./prisma COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules -# Generate Prisma Client in RUNNER (after all files are copied) -RUN npx prisma generate - USER nextjs EXPOSE 3000 diff --git a/keep-notes/package.json b/keep-notes/package.json index cc72ecd..40e5cc1 100644 --- a/keep-notes/package.json +++ b/keep-notes/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "set TURBOPACK=0&& next dev", "dev:turbo": "next dev", - "build": "next build --webpack", + "build": "prisma generate && next build --webpack", "start": "next start", "db:generate": "prisma generate", "test": "playwright test",