From 340cdce1dcc0504916d841d21d9585f9c8939331 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 24 Apr 2025 19:23:10 -0700 Subject: [PATCH] Dockerfile tweaks. --- Dockerfile | 13 ++++++++----- scripts/set-routes-manifest.js | 10 +++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 83b4d514..f1741085 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,8 +21,7 @@ ENV BASE_PATH=$BASE_PATH ENV NEXT_TELEMETRY_DISABLED=1 -RUN npm install -g pnpm -RUN pnpm build-docker +RUN npm run build-docker # Production image, copy all the files and run next FROM node:22-alpine AS runner @@ -39,10 +38,13 @@ RUN adduser --system --uid 1001 nextjs RUN npm install -g pnpm RUN set -x \ - && apk add --no-cache curl \ - && pnpm add npm-run-all dotenv prisma@6.1.0 + && apk add --no-cache curl -RUN chown -R nextjs:nodejs node_modules/ +# Script dependencies +RUN pnpm add npm-run-all dotenv prisma@6.1.0 + +# Permissions for prisma +RUN chown -R nextjs:nodejs node_modules/.pnpm/ COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder /app/prisma ./prisma @@ -53,6 +55,7 @@ COPY --from=builder /app/scripts ./scripts COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static +# Custom routes RUN mv ./.next/routes-manifest.json ./.next/routes-manifest-orig.json USER nextjs diff --git a/scripts/set-routes-manifest.js b/scripts/set-routes-manifest.js index e28cdcaf..a3ac4956 100644 --- a/scripts/set-routes-manifest.js +++ b/scripts/set-routes-manifest.js @@ -17,7 +17,7 @@ const headers = []; const rewrites = []; if (collectApiEndpoint) { - const apiRoute = originalManifest.headers.find((route) => route.source === API_PATH); + const apiRoute = originalManifest.headers.find(route => route.source === API_PATH); const routeRegex = new RegExp(apiRoute.regex); rewrites.push({ @@ -34,7 +34,7 @@ if (collectApiEndpoint) { } if (trackerScriptName) { - const trackerRoute = originalManifest.headers.find((route) => route.source === TRACKER_SCRIPT); + const trackerRoute = originalManifest.headers.find(route => route.source === TRACKER_SCRIPT); const names = trackerScriptName?.split(',').map(name => name.trim()); @@ -57,11 +57,11 @@ if (trackerScriptName) { const routesManifest = { ...originalManifest }; -if (rewrites.length != 0) { +if (rewrites.length !== 0) { const { buildCustomRoute } = require('next/dist/lib/build-custom-route'); - const builtHeaders = headers.map((header) => buildCustomRoute('header', header)); - const builtRewrites = rewrites.map((rewrite) => buildCustomRoute('rewrite', rewrite)); + const builtHeaders = headers.map(header => buildCustomRoute('header', header)); + const builtRewrites = rewrites.map(rewrite => buildCustomRoute('rewrite', rewrite)); routesManifest.headers = [...originalManifest.headers, ...builtHeaders]; routesManifest.rewrites = [...builtRewrites, ...originalManifest.rewrites];