| 123456789101112131415161718192021222324252627282930313233 |
- FROM node:22-alpine AS builder
- WORKDIR /app
- # Install dependencies
- COPY src/package*.json ./
- RUN npm install
- # Copy source
- COPY src/ ./
- # Build Next.js — relative API URLs (/api/...) via Next.js rewrites
- ENV NEXT_TELEMETRY_DISABLED=1
- ARG NEXT_PUBLIC_API_URL
- ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
- RUN npm run build
- # Production image
- FROM node:22-alpine
- WORKDIR /app
- ENV NODE_ENV=production
- ENV NEXT_TELEMETRY_DISABLED=1
- # Copy only what's needed to run
- COPY --from=builder /app/node_modules ./node_modules
- COPY --from=builder /app/.next ./.next
- COPY --from=builder /app/package.json ./
- EXPOSE 3000
- CMD ["npm", "start"]
|