| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- # === Étape 1 : Build SSR Angular (avec Node 14) ===
- 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
- 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
- # 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
- 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", "index.js"]
|