# 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 en attribuant la propriété à l'utilisateur 'node'
COPY --chown=node:node backend/package*.json ./backend/

# Installation propre des dépendances de production
RUN cd backend && npm ci --omit=dev

# Copie de l'ensemble du projet avec la bonne propriété utilisateur
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 (3000 est > 1024, donc autorisé sans privilèges root)
EXPOSE 3000

# Démarrage du serveur Node.js
CMD ["node", "backend/server.js"]