diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..cfe61ca --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,51 @@ +# Deployment-Anleitung + +## Problem: react-icons nicht gefunden + +Wenn auf dem Production-Server der Fehler `Module not found: Can't resolve 'react-icons/fa'` auftritt, liegt das daran, dass die Dependencies nicht neu installiert wurden. + +## Lösung + +Nach `git pull` auf dem Server müssen die Docker-Container neu gebaut werden: + +```bash +# Container stoppen +docker compose down + +# Container neu bauen (ohne Cache, um sicherzustellen, dass alle Dependencies neu installiert werden) +docker compose build --no-cache + +# Container starten +docker compose up -d + +# Logs prüfen +docker compose logs -f +``` + +## Alternative: Volume löschen + +Falls das Problem weiterhin besteht, kann das `node_modules` Volume gelöscht werden: + +```bash +docker compose down -v +docker compose build --no-cache +docker compose up -d +``` + +## Wichtige Dateien für den Build + +Folgende Dateien müssen im Repository sein: +- `package.json` (enthält `react-icons: ^4.12.0`) +- `Dockerfile.dev` (für Development) +- `Dockerfile` (für Production) +- `docker-compose.yml` +- Alle Source-Dateien, die `react-icons` verwenden + +## Verifizierung + +Nach dem Build sollte `react-icons` in `node_modules` vorhanden sein: + +```bash +docker compose exec web ls -la node_modules | grep react-icons +``` + diff --git a/Dockerfile.dev b/Dockerfile.dev index 369d713..3c07f50 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -2,11 +2,11 @@ FROM node:18-alpine WORKDIR /app -# Copy package files +# Copy package files first for better caching COPY package.json package-lock.json* ./ -# Install dependencies -RUN npm install +# Install dependencies (no cache to ensure fresh install) +RUN npm install --no-cache # Copy app files COPY . .