1
0

Dockerfile 747 B

123456789101112131415161718192021222324252627282930313233343536
  1. FROM node:20-alpine AS base
  2. FROM base AS deps
  3. RUN apk add --no-cache libc6-compat
  4. WORKDIR /app
  5. COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./
  6. RUN corepack enable pnpm && pnpm i --frozen-lockfile
  7. FROM base AS builder
  8. WORKDIR /app
  9. COPY --from=deps /app/node_modules ./node_modules
  10. COPY . .
  11. RUN corepack enable pnpm && pnpm run build
  12. FROM base AS runner
  13. WORKDIR /app
  14. ENV NODE_ENV=production
  15. RUN addgroup --system --gid 1001 nodejs
  16. RUN adduser --system --uid 1001 nextjs
  17. COPY --from=builder /app/public ./public
  18. COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
  19. COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
  20. USER nextjs
  21. EXPOSE 3000
  22. ENV PORT=3000
  23. CMD ["node", "server.js"]