# 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"]