ng-implementation/Dockerfile
2025-10-08 16:31:19 +02:00

30 lines
No EOL
1.1 KiB
Docker

# lancer le build:
# docker build -f /home/poule/encrypted/stockage-syncable/www/development/html/ng-implementation/Dockerfile -t csc-app:latest /home/poule/encrypted/stockage-syncable/www/development/html/ng-implementation#
FROM node:24 AS build
WORKDIR /app
# Étape 1: préparer le cache d'installation
# On copie d'abord uniquement les manifests pour optimiser le cache Docker
COPY my-workspace/package.json my-workspace/package-lock.json* ./my-workspace/
COPY sae-csc/package.json sae-csc/package-lock.json* ./sae-csc/
# Installer les dépendances de la workspace qui contient la librairie
WORKDIR /app/my-workspace
RUN npm i
# Copier l'intégralité des sources de la workspace et builder la librairie "sae-lib"
COPY my-workspace/ ./
RUN npx ng build sae-lib
# Installer les dépendances de l'application (qui dépend de ../my-workspace/dist/sae-lib)
WORKDIR /app/sae-csc
RUN npm i
# Copier le reste des sources de l'application
COPY sae-csc/ ./
# lancer en mode dev et exposer le port 4200
EXPOSE 4200
# Lancer le serveur Angular en écoutant sur toutes les interfaces
CMD ["npm","start","--","--host","0.0.0.0"]