Dockerfile tweaks.

This commit is contained in:
Mike Cao 2025-04-24 19:23:10 -07:00
parent 0fd2d09dba
commit 340cdce1dc
2 changed files with 13 additions and 10 deletions

View file

@ -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

View file

@ -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];