diff --git a/Dockerfile b/Dockerfile index b9d73bf..5fea669 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,10 @@ FROM node:22-alpine AS base -RUN corepack enable && corepack install -g pnpm@9.15.4 -ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 -ENV COREPACK_ENABLE_STRICT=0 +# Install pnpm as a real binary via npm (not corepack shim) so runtime +# invocations of `pnpm` work without DNS access to registry.npmjs.org. +# The corepack shim delegates to corepack, which re-validates against +# npmjs.org on first use — that fails in air-gapped UAT seed/migrate/reset +# Jobs. GRO-1983 / GRO-1889 / GRO-1909. +RUN npm install -g pnpm@9.15.4 WORKDIR /app # Install deps @@ -22,9 +25,7 @@ RUN pnpm --filter @groombook/types build && \ # Runtime FROM node:22-alpine AS runner -RUN corepack enable && corepack install -g pnpm@9.15.4 -ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 -ENV COREPACK_ENABLE_STRICT=0 +RUN npm install -g pnpm@9.15.4 WORKDIR /app ENV NODE_ENV=production @@ -53,7 +54,4 @@ CMD ["pnpm", "--filter", "@groombook/db", "seed"] # Reset stage — drops all tables, re-runs migrations, and re-seeds FROM builder AS reset -RUN corepack enable && corepack install -g pnpm@9.15.4 -ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 -ENV COREPACK_ENABLE_STRICT=0 CMD ["pnpm", "--filter", "@groombook/db", "reset"]