Shumiland/Dockerfile.migrator
Vadym Samoilenko daf90b1127
Some checks are pending
CI / Type Check (push) Waiting to run
CI / Lint (push) Waiting to run
CI / Unit Tests (push) Waiting to run
Deploy / Build & Push Image (push) Waiting to run
Deploy / Deploy to VPS (push) Blocked by required conditions
fix(migrator): node:22 + NODE_OPTIONS tsx/esm for ESM bare specifier resolution
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 18:20:33 +01:00

18 lines
570 B
Text

# syntax=docker/dockerfile:1
# Migrator image — runs `payload migrate` / `payload migrate:create`
# Requires node:22 for pnpm 11 (node:sqlite).
# tsx 4.x ESM loader must be preloaded via NODE_OPTIONS so bare
# specifiers (.ts extensions) resolve before any module is imported.
FROM node:22-alpine AS base
RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
RUN pnpm install --frozen-lockfile
COPY . .
ENV NODE_OPTIONS="--import tsx/esm"
ENTRYPOINT ["pnpm", "payload"]
CMD ["migrate"]