Update environment paths in .env and Dockerfile: Change PRISMA_DATA_PATH and UPLOADS_PATH for consistency with new directory structure. Adjust DATABASE_URL in Dockerfile to point to the correct database location and ensure Prisma Client generation and migration deployment are included in the build process.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m30s

This commit is contained in:
Julien Froidefond
2025-12-15 16:29:29 +01:00
parent 699de28868
commit d08f6f6a9c
2 changed files with 11 additions and 15 deletions

View File

@@ -19,10 +19,13 @@ RUN corepack enable && corepack prepare pnpm@latest --activate
COPY --from=deps /app/node_modules ./node_modules
COPY . .
ENV DATABASE_URL="file:/tmp/build.db"
RUN pnpm prisma generate
ENV DATABASE_URL="file:/app/data/dev.db"
ENV NEXT_TELEMETRY_DISABLED=1
# Générer Prisma Client et valider les migrations dans le builder
RUN pnpm prisma generate && \
pnpm prisma migrate deploy
RUN pnpm build
# Stage 3: Runner
@@ -39,7 +42,7 @@ RUN addgroup --system --gid 1001 nodejs && \
RUN corepack enable && corepack prepare pnpm@latest --activate
# Copier les fichiers nécessaires
# Copier les fichiers nécessaires (tout est déjà préparé dans le builder)
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
@@ -47,13 +50,8 @@ 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:/tmp/build.db"
# Installer seulement les dépendances de production puis générer Prisma Client
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \
pnpm install --frozen-lockfile --prod && \
pnpm dlx prisma generate
# Copier node_modules avec Prisma Client déjà généré
COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
ENV DATABASE_URL="file:/app/data/dev.db"
@@ -66,7 +64,6 @@ RUN echo '#!/bin/sh' > /app/entrypoint.sh && \
echo 'mkdir -p /app/data' >> /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 pnpm start' >> /app/entrypoint.sh && \
chmod +x /app/entrypoint.sh && \
chown nextjs:nodejs /app/entrypoint.sh
@@ -76,6 +73,5 @@ USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
ENV DATABASE_URL="file:/app/data/dev.db"
ENTRYPOINT ["./entrypoint.sh"]