From f6778b7d7d39d011f3aef01a7ebc6b58d1c0c941 Mon Sep 17 00:00:00 2001 From: Mackie Date: Fri, 22 May 2026 06:03:07 +0800 Subject: [PATCH] wooork --- Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Dockerfile b/Dockerfile index 98505b9..5114b55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,4 +38,44 @@ EXPOSE 3001 ENV PORT=3001 ENV HOSTNAME="0.0.0.0" +FROM node:20-alpine AS base + +FROM base AS deps +RUN apk add --no-cache libc6-compat +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN corepack enable && corepack prepare pnpm@10.11.0 --activate && pnpm i --frozen-lockfile + +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . +RUN corepack enable && corepack prepare pnpm@10.11.0 --activate && pnpm run build + +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV=production + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +COPY --from=builder /app/public ./public +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/package.json ./package.json +COPY --from=builder /app/tsconfig.json ./tsconfig.json +COPY --from=builder /app/src ./src + +RUN mkdir .next +RUN chown nextjs:nodejs .next + +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs + +EXPOSE 3001 +ENV PORT=3001 +ENV HOSTNAME="0.0.0.0" + CMD ["node", "server.js"] \ No newline at end of file