FROM node:22-alpine AS base RUN corepack enable && corepack prepare pnpm@latest --activate WORKDIR /app # --- Install + Build in one stage --- FROM base AS builder ARG CACHE_BUST=1 COPY . . RUN pnpm install --no-frozen-lockfile ENV NEXT_TELEMETRY_DISABLED=1 ENV NEXT_PUBLIC_SITE_URL=https://myeasycms.de ENV NEXT_PUBLIC_SUPABASE_URL=http://localhost:8000 ENV NEXT_PUBLIC_SUPABASE_PUBLIC_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzc0ODgzNDYwLCJleHAiOjIwOTAyNDM0NjB9.hbeQae1gYRTcJQ_6m7MPjoDlYFhp4tsszEQD2g5q6vY RUN pnpm --filter web build # --- Run --- FROM base AS runner WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 COPY --from=builder /app/ ./ RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs USER nextjs EXPOSE 3000 CMD ["pnpm", "--filter", "web", "start"]