+ dockerfile
This commit is contained in:
parent
be1cb55dd2
commit
ac89f35ee7
50
Dockerfile
Normal file
50
Dockerfile
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Stage 1: Build (Erstellung des Produktionsbundles)
|
||||||
|
FROM node:20-alpine AS build
|
||||||
|
|
||||||
|
|
||||||
|
# Setze das Arbeitsverzeichnis
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Kopiere package.json und package-lock.json und installiere die Abhängigkeiten
|
||||||
|
COPY package.json ./
|
||||||
|
RUN npm install --force && npm cache clean --force
|
||||||
|
|
||||||
|
# Kopiere die weiteren wichtigen Projektdateien
|
||||||
|
|
||||||
|
COPY components.json .
|
||||||
|
COPY eslint.config.js .
|
||||||
|
COPY index.html .
|
||||||
|
COPY postcss.config.js .
|
||||||
|
COPY tailwind.config.ts .
|
||||||
|
COPY tsconfig.app.json .
|
||||||
|
COPY tsconfig.json .
|
||||||
|
COPY tsconfig.node.json .
|
||||||
|
COPY vite.config.ts .
|
||||||
|
COPY src ./src
|
||||||
|
COPY public ./public
|
||||||
|
COPY .env .
|
||||||
|
# Baue das Projekt für die Produktion
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# Stage 2: Production (Einfacher Webserver für die bereitgestellten Dateien)
|
||||||
|
FROM node:20-alpine AS production
|
||||||
|
|
||||||
|
# Setze das Arbeitsverzeichnis
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Installiere ein einfaches Static File Hosting Tool (wie serve)
|
||||||
|
RUN npm install -g serve
|
||||||
|
|
||||||
|
# Kopiere die gebauten Dateien aus der Build-Phase
|
||||||
|
COPY --from=build /usr/src/app/dist ./dist
|
||||||
|
|
||||||
|
# Kopiere die generierte index.html aus dem Build-Ordner (aus der Build-Phase)
|
||||||
|
COPY --from=build /usr/src/app/index.html ./index.html
|
||||||
|
# Baue die TypeScript API
|
||||||
|
#RUN npm install && npx tsc api.ts
|
||||||
|
|
||||||
|
# Exponiere den Port, auf dem der Server läuft
|
||||||
|
EXPOSE 5030
|
||||||
|
|
||||||
|
# Starte den Server auf Port 5000 (dieser wird dann über den Nginx-Reverse-Proxy weitergeleitet)
|
||||||
|
CMD ["serve", "-s", "dist", "-l", "5030"]
|
||||||
Loading…
x
Reference in New Issue
Block a user