Files
Web_Projekt_Template/Dockerfile
2024-02-09 19:04:29 +00:00

43 lines
996 B
Docker

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