„Dockerfile“ ändern

This commit is contained in:
2024-02-09 19:04:29 +00:00
parent e9baba6d46
commit 7985703c00

View File

@@ -1,18 +1,42 @@
FROM node:18.13.0
# 18.13.0 enstpricht 108
ENV TZ="Europe/Berlin"
RUN date
RUN apt update
RUN apt install curl gnupg2 ca-certificates lsb-release sudo -y
RUN apt install -y nginx
COPY ./backend /app
COPY ./Docker/NginxProxy/default.conf /etc/nginx/sites-available/default
COPY start.sh /start.sh
COPY ./frontend/build /var/www/html
# Build-Phase für das Frontend
FROM node:latest AS frontend-build
WORKDIR /app
COPY ./frontend ./frontend
WORKDIR /app/frontend
RUN npm install
RUN echo "Port=507" >> .env
RUN echo "NODE_ENV=production" >> .env
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
ENTRYPOINT [ "/start.sh" ]
EXPOSE 80
# Startkommando
CMD sh -c "nginx -g 'daemon off;' & node backend/dist/index.js"