|
@@ -1,40 +1,29 @@
|
|
|
-# Étape 1 : Build Angular SSR (client + serveur)
|
|
|
|
|
|
|
+# Étape 1 : Builder Angular SSR
|
|
|
FROM node:14-alpine AS builder
|
|
FROM node:14-alpine AS builder
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
-# Installer les deps Angular
|
|
|
|
|
|
|
+# Installer dépendances Angular
|
|
|
COPY angular-client/package*.json ./angular-client/
|
|
COPY angular-client/package*.json ./angular-client/
|
|
|
-WORKDIR /app/angular-client
|
|
|
|
|
-RUN npm install
|
|
|
|
|
|
|
+RUN cd angular-client && npm install
|
|
|
|
|
|
|
|
-COPY angular-client/ ./
|
|
|
|
|
-RUN npm run build:ssr
|
|
|
|
|
|
|
+# Copier le code Angular
|
|
|
|
|
+COPY angular-client ./angular-client
|
|
|
|
|
+RUN cd angular-client && npm run build:ssr
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-# Étape 2 : Image finale
|
|
|
|
|
|
|
+# Étape 2 : Runner Express avec SSR + API
|
|
|
FROM node:14-alpine
|
|
FROM node:14-alpine
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
WORKDIR /app
|
|
|
-ENV NODE_ENV=production
|
|
|
|
|
-ENV PORT=4000
|
|
|
|
|
-
|
|
|
|
|
-# Copier l'Express app
|
|
|
|
|
-COPY express-server/index.js ./index.js
|
|
|
|
|
-COPY express-server/logging.js ./logging.js
|
|
|
|
|
-COPY express-server/package*.json ./
|
|
|
|
|
-COPY express-server/routes ./routes
|
|
|
|
|
-COPY express-server/lib ./lib
|
|
|
|
|
-COPY express-server/models ./models
|
|
|
|
|
-COPY express-server/controllers ./controllers
|
|
|
|
|
-COPY express-server/middleware ./middleware
|
|
|
|
|
-
|
|
|
|
|
-# Copier la build SSR complète
|
|
|
|
|
|
|
+
|
|
|
|
|
+# Copier le backend Express complet
|
|
|
|
|
+COPY express-server .
|
|
|
|
|
+
|
|
|
|
|
+# Copier la build Angular SSR compilée
|
|
|
COPY --from=builder /app/angular-client/dist ./dist
|
|
COPY --from=builder /app/angular-client/dist ./dist
|
|
|
|
|
|
|
|
-# Installer deps runtime
|
|
|
|
|
|
|
+# Installer les dépendances Express uniquement (sans dev)
|
|
|
RUN npm install --omit=dev
|
|
RUN npm install --omit=dev
|
|
|
|
|
|
|
|
EXPOSE 4000
|
|
EXPOSE 4000
|
|
|
-
|
|
|
|
|
CMD ["node", "index.js"]
|
|
CMD ["node", "index.js"]
|