diff --git a/apps/dashboard/Dockerfile b/apps/dashboard/Dockerfile index 08b16f9f..75229aa0 100644 --- a/apps/dashboard/Dockerfile +++ b/apps/dashboard/Dockerfile @@ -1,9 +1,9 @@ # Dashboard production image — Next.js 15 with shadcn UI. # Multi-stage to keep the final image small and unprivileged. -FROM node:20-alpine AS deps +FROM node:26-alpine AS deps WORKDIR /app -RUN corepack enable && corepack prepare pnpm@9.15.0 --activate +RUN npm install -g pnpm@9.15.0 # Copy workspace manifests first so the install layer caches well. COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./ @@ -14,9 +14,9 @@ COPY apps/backend/pyproject.toml apps/backend/ RUN pnpm install --frozen-lockfile --filter=dashboard... -FROM node:20-alpine AS build +FROM node:26-alpine AS build WORKDIR /app -RUN corepack enable && corepack prepare pnpm@9.15.0 --activate +RUN npm install -g pnpm@9.15.0 COPY --from=deps /app /app COPY apps/dashboard apps/dashboard @@ -29,7 +29,7 @@ WORKDIR /app/apps/dashboard ENV NEXT_TELEMETRY_DISABLED=1 RUN pnpm build -FROM node:20-alpine AS runtime +FROM node:26-alpine AS runtime WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1