# Build Stage FROM node:20-slim AS builder WORKDIR /app # Core environment for pnpm RUN corepack enable && corepack prepare pnpm@latest --activate # Copy root configurations COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ # Copy all packages for extensions build COPY packages ./packages # Install dependencies (only what's needed for extensions) RUN pnpm install --no-frozen-lockfile \ --filter "@mintel/directus-extension-*" \ --filter "acquisition" \ --filter "acquisition-manager" \ --filter "customer-manager" \ --filter "feedback-commander" \ --filter "people-manager" \ --filter "./packages/acquisition" \ --filter "./packages/mail" # Runtime Stage FROM directus/directus:11 WORKDIR /directus # Copy built extensions COPY --from=builder /app/packages/cms-infra/extensions ./extensions # Environment defaults (can be overridden) ENV KEY="infra-cms-key" ENV SECRET="infra-cms-secret" ENV DB_CLIENT="sqlite3" ENV DB_FILENAME="/directus/database/data.db" # Expose port EXPOSE 8055