diff --git a/Dockerfile b/Dockerfile index bd03919..03cd372 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,31 @@ # ----- Stage 1: Build der Angular-Anwendung ----- -FROM node:20-alpine AS build +FROM node:20-alpine AS builder WORKDIR /app + +# Installieren der Abhängigkeiten (besseres Caching) COPY package*.json ./ RUN npm install --legacy-peer-deps + +# Kopieren des restlichen Quellcodes COPY . . -RUN npm run build + +# Erstellen der Angular-Anwendung für die Produktion +RUN npm run build -- --configuration production +# ----- Stage 2: Serven der Anwendung mit Nginx ----- +FROM nginx:stable-alpine AS runtime +# Entfernen der Standard-Konfiguration und Hinzufügen unserer eigenen +RUN rm -f /etc/nginx/conf.d/default.conf +COPY nginx/default.conf /etc/nginx/conf.d/default.conf + +# Kopieren der gebauten App aus der "builder"-Stufe +# WICHTIG: Der Pfad /app/dist/frontend/ ist an Ihr Projekt angepasst +COPY --from=builder /app/dist/frontend/ /usr/share/nginx/html + +# Dokumentieren, dass der Container Port 3000 bereitstellt EXPOSE 3001 -# ----- Stage 2: Serven der Anwendung mit Nginx ----- \ No newline at end of file + +# Starten des Nginx-Servers im Vordergrund +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file