From 1348188a6c8049c7068968fc0da79e26bd8d6d44 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Mon, 23 Feb 2026 14:04:34 +0000 Subject: [PATCH] fix: dedicated migrator stage for payload migrate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Build stage runs pnpm build which changes ESM resolution context. New migrator stage has deps+src only — clean env for tsx/payload migrate. Co-Authored-By: Claude Sonnet 4.6 --- Dockerfile | 6 ++++++ docker-compose.prod.yml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index de4abdb..0942791 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,12 @@ ENV WATCHPACK_POLLING=true EXPOSE 3000 CMD ["pnpm", "dev"] +# --- Migrator (deps + src only, no Next.js build — used for pnpm payload migrate) --- +FROM base AS migrator +COPY --from=deps /app/node_modules ./node_modules +COPY . . +CMD ["pnpm", "payload", "migrate"] + # --- Build --- FROM base AS build COPY --from=deps /app/node_modules ./node_modules diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index bacbbdc..52fee35 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -15,7 +15,7 @@ services: migrator: build: context: . - target: build + target: migrator command: pnpm payload migrate env_file: - .env.production