# Image de base légère Node.js (version LTS) FROM node:20-alpine # Définition du répertoire de travail WORKDIR /app # Copie des manifests de dépendances avec la bonne propriété utilisateur COPY --chown=node:node backend/package*.json ./backend/ # Installation des dépendances (npm install fonctionne même sans package-lock.json) RUN cd backend && npm install --omit=dev # Copie de l'ensemble du projet COPY --chown=node:node . . # Passage à l'utilisateur non-privilégié 'node' USER node # Variables d'environnement ENV NODE_ENV=production ENV PORT=3000 # Exposition du port EXPOSE 3000 # Démarrage du serveur Node.js CMD ["node", "backend/server.js"]