# 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"