|
|
@@ -1,38 +1,38 @@
|
|
|
-# === Étape 1 : Build SSR Angular (avec Node 14) ===
|
|
|
+# Étape 1 : Build Angular SSR (client + serveur)
|
|
|
FROM node:14-alpine AS builder
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
-# Installer les dépendances backend
|
|
|
-COPY package*.json ./
|
|
|
-RUN npm install
|
|
|
-
|
|
|
-# Copier tout le projet
|
|
|
-COPY . .
|
|
|
-
|
|
|
-# Installer les dépendances frontend et builder SSR
|
|
|
+# Installer les deps Angular
|
|
|
+COPY angular-client/package*.json ./angular-client/
|
|
|
WORKDIR /app/angular-client
|
|
|
RUN npm install
|
|
|
+
|
|
|
+COPY angular-client/ ./
|
|
|
RUN npm run build:ssr
|
|
|
|
|
|
-# === Étape 2 : Runner final avec Node 14 ===
|
|
|
-FROM node:14-alpine AS runner
|
|
|
+
|
|
|
+# Étape 2 : Image finale
|
|
|
+FROM node:14-alpine
|
|
|
|
|
|
WORKDIR /app
|
|
|
ENV NODE_ENV=production
|
|
|
ENV PORT=4000
|
|
|
|
|
|
-# Copier les fichiers du serveur Express
|
|
|
-COPY --from=builder /app/express-server/index.js ./index.js
|
|
|
-COPY --from=builder /app/express-server/package*.json ./
|
|
|
-COPY --from=builder /app/express-server/routes ./routes
|
|
|
-COPY --from=builder /app/express-server/lib ./lib
|
|
|
-COPY --from=builder /app/express-server/logging.js ./logging.js
|
|
|
-
|
|
|
-# Copier la build Angular SSR
|
|
|
+# 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
|
|
|
COPY --from=builder /app/angular-client/dist ./dist
|
|
|
|
|
|
-# Installer les dépendances nécessaires au runtime
|
|
|
+# Installer deps runtime
|
|
|
RUN npm install --omit=dev
|
|
|
|
|
|
EXPOSE 4000
|