„Dockerfile“ ändern
This commit is contained in:
52
Dockerfile
52
Dockerfile
@@ -1,18 +1,42 @@
|
|||||||
FROM node:18.13.0
|
# Build-Phase für das Frontend
|
||||||
# 18.13.0 enstpricht 108
|
FROM node:latest AS frontend-build
|
||||||
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
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
COPY ./frontend ./frontend
|
||||||
|
WORKDIR /app/frontend
|
||||||
RUN npm install
|
RUN npm install
|
||||||
RUN echo "Port=507" >> .env
|
RUN npm run build
|
||||||
RUN echo "NODE_ENV=production" >> .env
|
|
||||||
|
# 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"
|
||||||
|
|||||||
Reference in New Issue
Block a user