37 lines
1.3 KiB
Docker
37 lines
1.3 KiB
Docker
# ==========================================
|
|
# dashboard/Dockerfile.dev (Development)
|
|
# 🔧 OPTIMIERT: Für schnelle Entwicklung mit Vite und pnpm
|
|
# ==========================================
|
|
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
|
|
RUN apk add --no-cache curl
|
|
|
|
# Installiere pnpm, da es im Projekt verwendet wird.
|
|
RUN npm install -g pnpm
|
|
|
|
# Kopiere die package-Dateien in das korrekte Unterverzeichnis.
|
|
# Dies nutzt den Docker-Cache: Wenn sich die Dateien nicht ändern,
|
|
# wird der `pnpm install`-Schritt übersprungen.
|
|
COPY package.json pnpm-lock.yaml* ./
|
|
|
|
# Wechsle in das Dashboard-Verzeichnis, um die Befehle auszuführen.
|
|
WORKDIR /workspace/dashboard
|
|
|
|
# Installiere ALLE Abhängigkeiten (inkl. devDependencies)
|
|
RUN pnpm install
|
|
|
|
# Das Kopieren des restlichen Codes ist nicht nötig, da das gesamte
|
|
# Verzeichnis `./:/workspace` in der docker-compose.override.yml gemountet wird.
|
|
|
|
# Exponiere die Ports für Vite und Node-Debugging
|
|
EXPOSE 5173 9229
|
|
|
|
# Der Startbefehl wird in der docker-compose.override.yml definiert.
|
|
# Ein Standard-CMD ist dennoch eine gute Praxis.
|
|
CMD ["pnpm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"]
|