30 lines
No EOL
1.1 KiB
Docker
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"] |