File size: 809 Bytes
b4f9490
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Stage 1: Build
FROM node:20.18.0-alpine AS build-stage
WORKDIR /app

# Copier les fichiers de dépendances
COPY package*.json ./

# Installer les dépendances (sans --only=production=false qui est obsolète)
RUN npm ci

# Copier le code source
COPY . .

# Construire l'application
RUN npm run build

# Stage 2: Production  
FROM node:20.18.0-alpine AS production-stage

# Installer serve globalement
RUN npm install -g serve

# Créer un utilisateur non-root pour la sécurité
USER node
WORKDIR /home/node

# Copier les fichiers buildés depuis le stage précédent
COPY --chown=node:node --from=build-stage /app/dist ./dist

# Exposer le port 7860 (requis par Hugging Face Spaces)
EXPOSE 7860

# Commande pour servir l'application
CMD ["serve", "-s", "dist", "-l", "7860"]