From cf582387b53930be5697d044fc19db01a54ed39c Mon Sep 17 00:00:00 2001 From: R0m1k3 Date: Fri, 10 Apr 2026 10:24:20 +0200 Subject: [PATCH] feat: initialize Prisma schema and configure standalone mode for Docker deployment --- Dockerfile | 4 ++++ entrypoint.sh | 3 +++ next.config.ts | 1 + prisma/schema.prisma | 1 + 4 files changed, 9 insertions(+) diff --git a/Dockerfile b/Dockerfile index f9ec056..8ec4997 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,6 +46,10 @@ COPY --from=builder /app/.next/static ./.next/static COPY --from=builder /app/prisma ./prisma COPY --from=builder /app/prisma.config.ts ./prisma.config.ts +# Explicitly copy Prisma node_modules (required for standalone mode) +COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma +COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma + # Ensure prisma directory is accessible and writable for SQLite RUN mkdir -p /app/prisma && chmod -R 777 /app/prisma diff --git a/entrypoint.sh b/entrypoint.sh index 8e61ab8..8658b1d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -12,6 +12,9 @@ echo "Checking prisma directory permissions..." ls -ld /app/prisma touch /app/prisma/test_write && echo "Write check: SUCCESS" && rm /app/prisma/test_write || echo "Write check: FAILED" +echo "Locating Prisma engine binary..." +find ./node_modules -name "libquery_engine*" || echo "Engine binary NOT found!" + # Run database synchronization echo "Synchronizing database schema with Prisma..." # Ensure DATABASE_URL is set for the CLI diff --git a/next.config.ts b/next.config.ts index 225e495..beb4bc3 100644 --- a/next.config.ts +++ b/next.config.ts @@ -2,6 +2,7 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { output: 'standalone', + serverExternalPackages: ['@prisma/client'], }; export default nextConfig; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b65cf52..f18bafe 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -4,6 +4,7 @@ generator client { provider = "prisma-client-js" previewFeatures = ["driverAdapters"] + binaryTargets = ["native", "debian-openssl-3.0.x"] } datasource db {