29. Juni 2024, 13:18

This commit is contained in:
2024-06-29 11:18:39 +00:00
parent 40bc7de1cc
commit 79ddafea9d
32 changed files with 21980 additions and 4 deletions

61
Dockerfile Normal file
View File

@@ -0,0 +1,61 @@
# 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
RUN npm install -g typescript
RUN npm install
RUN tsc
# Produktionsphase
FROM node:latest
WORKDIR /usr/src/app
# Kopieren des React-Builds
COPY --from=frontend-build /app/frontend/build /var/www/html
# Backend-Quelldateien und kompilierte JavaScript-Dateien kopieren
COPY --from=backend-build /usr/src/app/backend /usr/src/app/backend
# Nginx installieren
RUN apt-get update && apt-get install -y nginx
# Standard Nginx-Konfiguration überschreiben, falls notwendig
RUN echo 'server { \
listen 80; \
root /var/www/html; \
index index.html index.htm; \
location /sw.js { \
add_header Cache-Control "no-cache"; \
proxy_cache_bypass $http_pragma; \
proxy_cache_revalidate on; \
expires off; \
access_log off; \
} \
location / { \
try_files $uri $uri/ /index.html; \
} \
location /api { \
proxy_pass http://127.0.0.1:8800; \
proxy_set_header Host $http_host; \
proxy_set_header X-Real-IP $remote_addr; \
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; \
proxy_set_header X-Forwarded-Proto $scheme; \
proxy_redirect off; \
} \
}' > /etc/nginx/sites-enabled/default
EXPOSE 80
# Startkommando
CMD sh -c "nginx -g 'daemon off;' & node backend/dist/index.js"