Adaption of dashboard to Vite and React
This commit is contained in:
@@ -4,32 +4,25 @@
|
||||
# ==========================================
|
||||
FROM node:20-alpine
|
||||
|
||||
# Setze das Arbeitsverzeichnis auf den Workspace-Root, um die Pfade aus
|
||||
# docker-compose.override.yml korrekt aufzulösen.
|
||||
WORKDIR /workspace
|
||||
|
||||
# 🔧 HINZUGEFÜGT: Installiere curl, damit das wait-for-backend.sh Skript funktioniert
|
||||
# Stelle sicher, dass benötigte Tools verfügbar sind (z. B. für wait-for-backend.sh)
|
||||
RUN apk add --no-cache curl
|
||||
|
||||
RUN npm install -g npm
|
||||
|
||||
# Kopiere die package-Dateien in das korrekte Unterverzeichnis.
|
||||
# Dies nutzt den Docker-Cache: Wenn sich die Dateien nicht ändern,
|
||||
# wird der `npm install`-Schritt übersprungen.
|
||||
COPY package.json package-lock.json* ./
|
||||
|
||||
# Wechsle in das Dashboard-Verzeichnis, um die Befehle auszuführen.
|
||||
# Setze Arbeitsverzeichnis direkt auf das Dashboard-Verzeichnis im Container
|
||||
# (Der Build-Kontext ist ./dashboard, siehe docker-compose.override.yml)
|
||||
WORKDIR /workspace/dashboard
|
||||
|
||||
# Installiere ALLE Abhängigkeiten (inkl. devDependencies)
|
||||
RUN npm install
|
||||
# KOPIEREN: Nur package-Dateien relativ zum Build-Kontext (KEINE /workspace-Pfade)
|
||||
# package*.json deckt sowohl package.json als auch package-lock.json ab, falls vorhanden
|
||||
COPY package*.json ./
|
||||
|
||||
# Das Kopieren des restlichen Codes ist nicht nötig, da das gesamte
|
||||
# Verzeichnis `./:/workspace` in der docker-compose.override.yml gemountet wird.
|
||||
# Installation robust machen: npm ci erfordert package-lock.json; fallback auf npm install
|
||||
RUN if [ -f package-lock.json ]; then \
|
||||
npm ci --legacy-peer-deps; \
|
||||
else \
|
||||
npm install --legacy-peer-deps; \
|
||||
fi && \
|
||||
npm cache clean --force
|
||||
|
||||
# Exponiere die Ports für Vite und Node-Debugging
|
||||
EXPOSE 5173 9229
|
||||
EXPOSE 5173 9230
|
||||
|
||||
# Der Startbefehl wird in der docker-compose.override.yml definiert.
|
||||
# Ein Standard-CMD ist dennoch eine gute Praxis.
|
||||
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"]
|
||||
|
||||
Reference in New Issue
Block a user