„Dockerfile“ ändern
This commit is contained in:
52
Dockerfile
52
Dockerfile
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user