diff --git a/apps/server-nestjs/Dockerfile b/apps/server-nestjs/Dockerfile index 6eb7f5f18..685ddff32 100644 --- a/apps/server-nestjs/Dockerfile +++ b/apps/server-nestjs/Dockerfile @@ -3,39 +3,39 @@ FROM docker.io/node:24.13.1-bullseye-slim AS dev WORKDIR /app -COPY --chown=node:root package.json ./ +COPY package.json ./ # Activer pnpm via corepack (version définie dans package.json "packageManager") RUN npm install --global corepack@latest && corepack enable && corepack enable pnpm # Copier les manifestes workspace (nécessaires pour que pnpm résolve les dépendances) -COPY --chown=node:root pnpm-workspace.yaml pnpm-lock.yaml ./ +COPY pnpm-workspace.yaml pnpm-lock.yaml ./ # Manifestes des packages workspace dont server-nestjs dépend -COPY --chown=node:root apps/server-nestjs/package.json ./apps/server-nestjs/package.json - -COPY --chown=node:root packages/eslintconfig/package.json ./packages/eslintconfig/package.json -COPY --chown=node:root packages/shared/package.json ./packages/shared/package.json -COPY --chown=node:root packages/logger/package.json ./packages/logger/package.json -COPY --chown=node:root packages/hooks/package.json ./packages/hooks/package.json -COPY --chown=node:root packages/test-utils/package.json ./packages/test-utils/package.json -COPY --chown=node:root packages/tsconfig/package.json ./packages/tsconfig/package.json - -COPY --chown=node:root plugins/argocd/package.json ./plugins/argocd/package.json -COPY --chown=node:root plugins/gitlab/package.json ./plugins/gitlab/package.json -COPY --chown=node:root plugins/harbor/package.json ./plugins/harbor/package.json -COPY --chown=node:root plugins/keycloak/package.json ./plugins/keycloak/package.json -COPY --chown=node:root plugins/nexus/package.json ./plugins/nexus/package.json -COPY --chown=node:root plugins/sonarqube/package.json ./plugins/sonarqube/package.json -COPY --chown=node:root plugins/vault/package.json ./plugins/vault/package.json +COPY apps/server-nestjs/package.json ./apps/server-nestjs/package.json + +COPY packages/eslintconfig/package.json ./packages/eslintconfig/package.json +COPY packages/shared/package.json ./packages/shared/package.json +COPY packages/logger/package.json ./packages/logger/package.json +COPY packages/hooks/package.json ./packages/hooks/package.json +COPY packages/test-utils/package.json ./packages/test-utils/package.json +COPY packages/tsconfig/package.json ./packages/tsconfig/package.json + +COPY plugins/argocd/package.json ./plugins/argocd/package.json +COPY plugins/gitlab/package.json ./plugins/gitlab/package.json +COPY plugins/harbor/package.json ./plugins/harbor/package.json +COPY plugins/keycloak/package.json ./plugins/keycloak/package.json +COPY plugins/nexus/package.json ./plugins/nexus/package.json +COPY plugins/sonarqube/package.json ./plugins/sonarqube/package.json +COPY plugins/vault/package.json ./plugins/vault/package.json # Installer toutes les dépendances afin de permettre le build des libs partagées RUN pnpm install --frozen-lockfile # Copier les sources des packages workspace -COPY --chown=node:root plugins/ ./plugins/ -COPY --chown=node:root packages/ ./packages/ -COPY --chown=node:root apps/server-nestjs/ ./apps/server-nestjs/ +COPY plugins/ ./plugins/ +COPY packages/ ./packages/ +COPY apps/server-nestjs/ ./apps/server-nestjs/ # Build des libs partagées (génère dist/ et types/) RUN pnpm --filter @cpn-console/logger run build @@ -90,9 +90,9 @@ RUN mkdir -p /home/node/logs && chmod 770 -R /home/node/logs \ && chown node:root /app # Copier l'artefact de build et les node_modules de production -COPY --chown=node:root --from=build /app/build . -COPY --chown=node:root --from=build /app/apps/server-nestjs/dist ./dist -# COPY --chown=node:root --from=build /app/build/node_modules ./node_modules +COPY --from=build /app/build . +COPY --from=build /app/apps/server-nestjs/dist ./dist +# COPY --from=build /app/build/node_modules ./node_modules # Regénérer le client Prisma dans l'image de production RUN npm run db:generate