# Verwende das offizielle Node.js 14 Image als Basis
FROM node:22 AS builder

# Setze das Arbeitsverzeichnis im Container
WORKDIR /app

# Kopiere die Paketkonfiguration und die Lock-Dateien in das Arbeitsverzeichnis
COPY package*.json ./

# Installiere Abhängigkeiten
RUN npm install 

# Kopiere den Rest des Codes in das Arbeitsverzeichnis
COPY . .

# Baue die Angular-Anwendung
RUN npm run build

# Verwende ein leichtes Nginx-Image als Basis für die Bereitstellung
FROM nginx:alpine

# Kopiere die Nginx-Konfiguration in den Container
COPY nginx.conf /etc/nginx/nginx.conf

# Kopiere die kompilierte Angular-Anwendung aus dem Builder-Image in den Nginx-Container
COPY --from=builder /app/dist/client/browser /usr/share/nginx/html

# Der Standard-HTTP-Port von Nginx ist 80, daher muss er freigegeben werden
EXPOSE 80

# Starte den Nginx-Server im Vordergrund, wenn der Container gestartet wird
CMD ["nginx", "-g", "daemon off;"]