Spaces:
Paused
Paused
| # Stage 1 β install deps | |
| FROM node:20-alpine AS deps | |
| WORKDIR /app | |
| COPY package.json package-lock.json* ./ | |
| RUN npm ci | |
| # Stage 2 β build | |
| FROM node:20-alpine AS builder | |
| WORKDIR /app | |
| COPY --from=deps /app/node_modules ./node_modules | |
| COPY . . | |
| RUN npm run build | |
| # Stage 3 β runtime | |
| FROM node:20-alpine AS runner | |
| WORKDIR /app | |
| ENV NODE_ENV=production | |
| COPY --from=builder /app/.next ./.next | |
| COPY --from=builder /app/node_modules ./node_modules | |
| COPY --from=builder /app/package.json ./package.json | |
| COPY --from=builder /app/public ./public | |
| EXPOSE 3000 | |
| CMD ["npm", "start"] | |