# Dockerfile pour backend-api (Node.js/Express)
FROM node:20-alpine

# Activer pnpm via corepack en épinglant explicitement la version.
# Sans cela, corepack télécharge le dernier pnpm (>=11) qui exige Node 22+
# et casse sur node:20-alpine (No such built-in module: node:sqlite).
ENV COREPACK_DEFAULT_TO_LATEST=0
RUN corepack enable && corepack prepare pnpm@10.29.3 --activate

# Définir le répertoire de travail
WORKDIR /app

# Copier les fichiers de dépendances
COPY package.json ./

# Installer les dépendances de production
RUN pnpm install --prod

# Copier le reste du code source
COPY . .

# Exposer le port de l’API
EXPOSE 3000

# Variables d’environnement (à surcharger via docker-compose)
ENV NODE_ENV=production

# Commande de démarrage
CMD ["node", "server.js"]
