# syntax=docker/dockerfile:1.4 ARG NODE_VERSION=22 #################################################################################################### ## Build Packages FROM node:${NODE_VERSION}-alpine AS builder # Remove again once corepack >= 0.31 made it into base image # (see https://github.com/directus/directus/issues/24514) RUN npm install --global corepack@latest RUN apk --no-cache add python3 py3-setuptools build-base WORKDIR /directus COPY package.json . RUN corepack enable && corepack prepare # Deploy as 'node' user to match pnpm setups in production image # (see https://github.com/directus/directus/issues/23822) RUN chown node:node . USER node ENV NODE_OPTIONS=--max-old-space-size=8192 COPY pnpm-lock.yaml . RUN pnpm fetch COPY --chown=node:node . . RUN <= 0.31 made it into base image USER node WORKDIR /directus ENV \ DB_CLIENT="sqlite3" \ DB_FILENAME="/directus/database/database.sqlite" \ NODE_ENV="production" \ NPM_CONFIG_UPDATE_NOTIFIER="false" COPY --from=builder --chown=node:node /directus/ecosystem.config.cjs . COPY --from=builder --chown=node:node /directus/dist . EXPOSE 8055 CMD : \ && node cli.js bootstrap \ && pm2-runtime start ecosystem.config.cjs \ ;