|
|
@@ -1,23 +1,39 @@
|
|
|
+# === Étape 1 : Build SSR Angular (avec Node 14) ===
|
|
|
FROM node:14-alpine AS builder
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
-COPY angular-client/package*.json ./
|
|
|
+# Installer les dépendances backend
|
|
|
+COPY package*.json ./
|
|
|
RUN npm install
|
|
|
|
|
|
-COPY angular-client/ ./
|
|
|
-RUN npm run build:ssr
|
|
|
+# Copier le projet complet (backend + angular-client)
|
|
|
+COPY . .
|
|
|
|
|
|
+# Build Angular SSR dans angular-client
|
|
|
+WORKDIR /app/angular-client
|
|
|
+RUN npm install
|
|
|
+RUN npm run build:ssr
|
|
|
|
|
|
+# === Étape 2 : Runner final avec Node 14 ===
|
|
|
FROM node:14-alpine AS runner
|
|
|
|
|
|
WORKDIR /app
|
|
|
ENV NODE_ENV=production
|
|
|
ENV PORT=4000
|
|
|
|
|
|
-COPY --from=builder /app/dist ./dist
|
|
|
-COPY --from=builder /app/package.json ./package.json
|
|
|
+# Copier le serveur Express
|
|
|
+COPY --from=builder /app/index.js ./index.js
|
|
|
+COPY --from=builder /app/package*.json ./
|
|
|
+COPY --from=builder /app/routes ./routes
|
|
|
+COPY --from=builder /app/lib ./lib
|
|
|
+
|
|
|
+# Copier la build Angular SSR
|
|
|
+COPY --from=builder /app/angular-client/dist ./dist
|
|
|
+
|
|
|
+# Installer les dépendances nécessaires au runtime
|
|
|
+RUN npm install --omit=dev
|
|
|
|
|
|
EXPOSE 4000
|
|
|
|
|
|
-CMD ["node", "dist/fatboar/server/main.js"]
|
|
|
+CMD ["node", "index.js"]
|