FROM node:20-bookworm-slim AS base WORKDIR /app RUN apt-get update -qq && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/* \ && corepack enable && corepack prepare pnpm@9.15.0 --activate ENV NEXT_TELEMETRY_DISABLED=1 FROM base AS build ARG NEXT_PUBLIC_BASE_PATH="" ENV NEXT_PUBLIC_BASE_PATH=$NEXT_PUBLIC_BASE_PATH COPY pnpm-lock.yaml pnpm-workspace.yaml package.json tsconfig.base.json ./ COPY apps/web/package.json apps/web/package.json COPY packages/db/package.json packages/db/package.json COPY packages/auth/package.json packages/auth/package.json COPY packages/themes/package.json packages/themes/package.json RUN pnpm install --frozen-lockfile COPY apps ./apps COPY packages ./packages RUN pnpm --filter @slot/web build FROM base AS runner ENV NODE_ENV=production PORT=3000 COPY --from=build /app /app WORKDIR /app/apps/web EXPOSE 3000 CMD ["pnpm","start"]