FROM node:22-alpine AS builder WORKDIR /app # Copier les fichiers de dépendances (y compris les patches) COPY package.json pnpm-lock.yaml ./ COPY patches ./patches RUN npm install -g pnpm && pnpm install --frozen-lockfile # Copier le reste du code et builder COPY . . RUN pnpm build # ── Image de production ────────────────────────────────────────────────────── FROM node:22-alpine AS runner WORKDIR /app RUN npm install -g pnpm # Copier les fichiers de dépendances (y compris les patches nécessaires à pnpm) COPY package.json pnpm-lock.yaml ./ COPY patches ./patches RUN pnpm install --frozen-lockfile --prod # Copier le build COPY --from=builder /app/dist ./dist # Copier les fichiers de configuration nécessaires au runtime COPY drizzle ./drizzle COPY drizzle.config.ts ./ EXPOSE 3000 ENV NODE_ENV=production CMD ["node", "dist/index.js"]