FROM node:22-alpine AS base RUN corepack enable && corepack prepare pnpm@latest --activate WORKDIR /app # --- Install deps --- FROM base AS deps COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ COPY apps/web/package.json ./apps/web/ COPY apps/dev-tool/package.json ./apps/dev-tool/ COPY tooling/ ./tooling/ COPY packages/ ./packages/ RUN pnpm install --frozen-lockfile # --- Build --- FROM base AS builder COPY --from=deps /app/ ./ COPY . . ENV NEXT_TELEMETRY_DISABLED=1 ENV NEXT_PUBLIC_SITE_URL=https://myeasycms.de ENV NEXT_PUBLIC_SUPABASE_URL=placeholder ENV NEXT_PUBLIC_SUPABASE_PUBLIC_KEY=placeholder 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"]