diff --git a/Dockerfile b/Dockerfile index 03cd372..d99f074 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,16 @@ -# ----- Stage 1: Build der Angular-Anwendung ----- +# Dockerfile +# --- Stufe 1: Bau-Umgebung ("builder") --- 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 package.json package-lock.json ./ +RUN npm install 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 +# --- Stufe 2: Produktions-Umgebung ("runner") --- +FROM node:20-alpine AS runner +WORKDIR /app +ENV NODE_ENV=production +COPY --from=builder /app/.output . EXPOSE 3001 - -# Starten des Nginx-Servers im Vordergrund -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file +CMD [ "node", "server/index.mjs" ] \ No newline at end of file