Fix production deploy: sync lockfile, Prisma engines, and build.

The Docker build failed because pnpm-lock.yaml was stale after removing Sanity
and adding Prisma/admin deps. Bundle debian-openssl-3.0.x engines for
node:20-slim, fix invalid tiptap package, and avoid DB access during next build.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ali Taghavi
2026-05-19 00:48:32 +03:30
parent 548c08eb9d
commit a352d4e823
14 changed files with 884 additions and 8383 deletions

View File

@@ -19,11 +19,13 @@ FROM base AS builder
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Copy pre-downloaded Prisma engine binaries (linux-musl-openssl-3.0.x)
ENV PRISMA_QUERY_ENGINE_LIBRARY=/app/prisma-binaries/libquery_engine-linux-musl-openssl-3.0.x.so.node
ENV PRISMA_SCHEMA_ENGINE_BINARY=/app/prisma-binaries/schema-engine-linux-musl-openssl-3.0.x
# Pre-downloaded Prisma engines for node:20-slim (debian-openssl-3.0.x)
ENV PRISMA_QUERY_ENGINE_LIBRARY=/app/prisma-binaries/libquery_engine-debian-openssl-3.0.x.so.node
ENV PRISMA_SCHEMA_ENGINE_BINARY=/app/prisma-binaries/schema-engine-debian-openssl-3.0.x
RUN pnpm prisma generate
# Placeholder only — real DATABASE_URL is injected at runtime via docker-compose
ENV DATABASE_URL="mysql://build:build@localhost:3306/build"
RUN pnpm build
# ── runner ────────────────────────────────────────────────────────────────────
@@ -43,7 +45,7 @@ COPY --from=builder /app/prisma-binaries ./prisma-binaries
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder /app/node_modules/@prisma/client ./node_modules/@prisma/client
ENV PRISMA_QUERY_ENGINE_LIBRARY=/app/prisma-binaries/libquery_engine-linux-musl-openssl-3.0.x.so.node
ENV PRISMA_QUERY_ENGINE_LIBRARY=/app/prisma-binaries/libquery_engine-debian-openssl-3.0.x.so.node
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./