diff --git a/Dockerfile b/Dockerfile index bcf0339..40db75c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,7 @@ COPY --from=builder --chown=nextjs:nodejs /app/scripts ./scripts COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules # Create uploads directory and set permissions -RUN mkdir -p public/uploads && chown nextjs:nodejs public/uploads +RUN mkdir -p public/uploads/covers && chown -R nextjs:nodejs public/uploads USER nextjs diff --git a/scripts/migrate-covers.mjs b/scripts/migrate-covers.mjs index 8ccf8c2..7198a11 100644 --- a/scripts/migrate-covers.mjs +++ b/scripts/migrate-covers.mjs @@ -1,6 +1,6 @@ import { PrismaClient } from '@prisma/client'; import { parseBuffer } from 'music-metadata'; -import { readFile, writeFile } from 'fs/promises'; +import { readFile, writeFile, mkdir } from 'fs/promises'; import path from 'path'; import { fileURLToPath } from 'url'; @@ -38,6 +38,7 @@ async function migrate() { const coverPath = path.join(process.cwd(), 'public/uploads/covers', coverFilename); // Ensure directory exists + await mkdir(path.dirname(coverPath), { recursive: true }); await writeFile(coverPath, picture.data); // Update DB