diff --git a/Dockerfile b/Dockerfile index 9a13352..ed093a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,29 @@ # Dockerfile # --- Stufe 1: Bau-Umgebung ("builder") --- +# Baut die Angular-Anwendung und erzeugt statische Dateien FROM node:20-alpine AS builder WORKDIR /app COPY package.json package-lock.json ./ RUN npm install COPY . . RUN npm run build -# Der Befehl "RUN ls -la" kann jetzt entfernt werden, da das Problem identifiziert wurde. # --- Stufe 2: Produktions-Umgebung ("runner") --- +# Verwendet Node.js mit dem 'serve'-Paket, um die statischen Dateien auszuliefern FROM node:20-alpine AS runner WORKDIR /app -ENV NODE_ENV=production -# --- KORREKTUR HIER --- -COPY --from=builder /app/dist . -EXPOSE 3001 -# --- BITTE ÜBERPRÜFEN --- -# Möglicherweise müssen Sie auch diesen Pfad an die Struktur im "dist"-Ordner anpassen. -CMD [ "node", "browser/index.html" ] \ No newline at end of file + +# Installiere das 'serve'-Paket global im Container +RUN npm install -g serve + +# Kopiere nur die gebauten Browser-Dateien aus der Builder-Stufe +COPY --from=builder /app/dist/frontend/browser . + +# 'serve' läuft standardmäßig auf Port 3000. Wir exposen diesen Port. +EXPOSE 3000 + +# Starte den 'serve'-Webserver. +# Der Parameter "-s" ist wichtig für Single-Page-Applications wie Angular. +# Er stellt sicher, dass alle Anfragen an die index.html weitergeleitet werden. +CMD [ "serve", "-s", "." ] \ No newline at end of file