# Build-Phase für das Frontend
FROM node:latest AS frontend-build
WORKDIR /app
COPY ./frontend ./frontend
WORKDIR /app/frontend
RUN npm install
RUN npm run build

# Build-Phase für das Backend
FROM node:latest AS backend-build
WORKDIR /usr/src/app
COPY ./backend ./backend
WORKDIR /usr/src/app/backend

# TypeScript global installieren
RUN npm install -g typescript

# npm-Abhängigkeiten installieren und TypeScript kompilieren
RUN npm install
RUN tsc

# Produktionsphase
FROM nginx:latest

# Kopieren des React-Builds
COPY --from=frontend-build /app/frontend/build /var/www/html

# Node.js Umgebung für das Backend vorbereiten
WORKDIR /usr/src/app

# Backend-Quelldateien und kompilierte JavaScript-Dateien kopieren
COPY --from=backend-build /usr/src/app/backend /usr/src/app/backend

# Standard Nginx-Konfiguration überschreiben, falls notwendig
COPY default.conf /etc/nginx/conf.d/default.conf


EXPOSE 80


# Startkommando
CMD sh -c "nginx -g 'daemon off;' & node backend/dist/index.js"
