From dbe5e1e9cc4be7c0dbdbe55b97a2636190161d8b Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Fri, 12 Dec 2025 11:16:49 +0100 Subject: [PATCH] Update environment and Docker configuration: Add PRISMA_DATA_PATH and UPLOADS_PATH to .env, modify docker-compose.yml to ensure correct volume mapping for uploads, and enhance Dockerfile to streamline file copying and directory creation for uploads. --- .env | 2 ++ Dockerfile | 25 +++++++++++++++---------- docker-compose.yml | 2 +- next.config.js | 1 - 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.env b/.env index 7c768c6..c698869 100644 --- a/.env +++ b/.env @@ -8,3 +8,5 @@ DATABASE_URL="file:./data/dev.db" AUTH_SECRET="your-secret-key-change-this-in-production" AUTH_URL="http://localhost:3000" +PRISMA_DATA_PATH="/Users/julien.froidefond/Sites/DAIS/got-mc/data" +UPLOADS_PATH="/Users/julien.froidefond/Sites/DAIS/got-mc/public/uploads" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1449b00..d3fab23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,21 +38,26 @@ RUN addgroup --system --gid 1001 nodejs && \ RUN corepack enable && corepack prepare pnpm@latest --activate -COPY --from=builder /app/public ./public -COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ -COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static - -COPY --from=builder /app/prisma ./prisma -COPY --from=builder /app/prisma.config.ts ./prisma.config.ts +# Copier les fichiers nécessaires +COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next +COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder /app/package.json ./package.json COPY --from=builder /app/pnpm-lock.yaml ./pnpm-lock.yaml +COPY --from=builder /app/next.config.js ./next.config.js +COPY --from=builder /app/prisma ./prisma +COPY --from=builder /app/prisma.config.ts ./prisma.config.ts -ENV DATABASE_URL="file:/app/data/dev.db" -RUN pnpm add prisma @prisma/client @prisma/adapter-better-sqlite3 better-sqlite3 --prod && \ +ENV DATABASE_URL="file:/tmp/build.db" + +# Installer seulement les dépendances de production puis générer Prisma Client +RUN pnpm install --frozen-lockfile --prod && \ pnpm dlx prisma generate +ENV DATABASE_URL="file:/app/data/dev.db" + # Create data directory for SQLite database and uploads directories -RUN mkdir -p /app/data /app/public/uploads /app/public/uploads/backgrounds && chown -R nextjs:nodejs /app/data /app/public/uploads +RUN mkdir -p /app/data /app/public/uploads /app/public/uploads/backgrounds && \ + chown -R nextjs:nodejs /app/data /app/public/uploads RUN echo '#!/bin/sh' > /app/entrypoint.sh && \ echo 'set -e' >> /app/entrypoint.sh && \ @@ -60,7 +65,7 @@ RUN echo '#!/bin/sh' > /app/entrypoint.sh && \ echo 'mkdir -p /app/public/uploads' >> /app/entrypoint.sh && \ echo 'mkdir -p /app/public/uploads/backgrounds' >> /app/entrypoint.sh && \ echo 'pnpm dlx prisma migrate deploy || true' >> /app/entrypoint.sh && \ - echo 'exec node server.js' >> /app/entrypoint.sh && \ + echo 'exec pnpm start' >> /app/entrypoint.sh && \ chmod +x /app/entrypoint.sh && \ chown nextjs:nodejs /app/entrypoint.sh diff --git a/docker-compose.yml b/docker-compose.yml index 6fe36d7..1277570 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: # Persist database (override DATA_PATH env var to change location) - ${PRISMA_DATA_PATH:-/Volumes/EXTERNAL_USB/sites/got-gaming/data}:/app/data # Persist uploaded images (avatars and backgrounds) - - ${UPLOADS_PATH:-./uploads}:/app/public/uploads + - ${UPLOADS_PATH:-./public/uploads}:/app/public/uploads - ./prisma/migrations:/app/prisma/migrations restart: unless-stopped labels: diff --git a/next.config.js b/next.config.js index 793352b..91ef62f 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,6 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, - output: "standalone", }; module.exports = nextConfig;