diff --git a/Dockerfile b/Dockerfile index b23833e..ec081b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,23 @@ -FROM node:22-alpine +FROM node:22-alpine AS deps + +WORKDIR /app + +ENV NEXT_TELEMETRY_DISABLED=1 + +COPY package.json package-lock.json ./ +RUN npm ci + +FROM node:22-alpine AS builder + +WORKDIR /app + +ENV NEXT_TELEMETRY_DISABLED=1 + +COPY --from=deps /app/node_modules ./node_modules +COPY . . +RUN npm run build + +FROM node:22-alpine AS runner WORKDIR /app @@ -10,10 +29,10 @@ ENV PORT=3000 COPY package.json package-lock.json ./ RUN npm ci --omit=dev -COPY .next ./.next -COPY public ./public -COPY src/app/icon.svg ./src/app/icon.svg -COPY next.config.ts ./ +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/public ./public +COPY --from=builder /app/src/app/icon.svg ./src/app/icon.svg +COPY --from=builder /app/next.config.ts ./next.config.ts EXPOSE 3000