24 lines
478 B
Docker
24 lines
478 B
Docker
# Étape 1 : Build minimal Node.js backend
|
||
FROM node:18-alpine
|
||
|
||
WORKDIR /app
|
||
|
||
# Copie des dépendances
|
||
COPY package*.json ./
|
||
|
||
# Installation sans dépendances dev
|
||
RUN npm ci --omit=dev
|
||
|
||
# Copie du code source
|
||
COPY . .
|
||
|
||
# Exposition du port d’écoute
|
||
EXPOSE 4000
|
||
|
||
# Ajout d’un healthcheck intelligent
|
||
HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \
|
||
CMD wget -qO- http://localhost:4000/health || exit 1
|
||
|
||
# Lancement du serveur
|
||
CMD ["npm", "start"]
|