#!/bin/bash echo "=== YourPart Frontend Deployment ===" # 1. Zum Frontend-Verzeichnis wechseln cd frontend # 2. Berechtigungen für dist-Verzeichnis korrigieren (falls vorhanden) if [ -d "dist" ]; then echo "Korrigiere Berechtigungen für dist-Verzeichnis..." sudo chown -R $USER:$USER dist/ 2>/dev/null || true fi # 3. Alle generierten Verzeichnisse löschen echo "Lösche alle generierten Verzeichnisse..." rm -rf dist/ rm -rf node_modules/.vite/ rm -rf node_modules/.cache/ # 4. Optional: .env.server übernehmen, falls vorhanden (nicht überschreiben, wenn nicht vorhanden) if [ -f .env.server ]; then echo "Nutze .env.server für Build-Defaults..." cp .env.server .env fi # 5. Frontend neu bauen – VITE_* aus Environment übernehmen oder Defaults setzen echo "Baue Frontend neu..." export VITE_API_BASE_URL=${VITE_API_BASE_URL:-https://www.your-part.de} export VITE_DAEMON_SOCKET=${VITE_DAEMON_SOCKET:-wss://www.your-part.de/ws/} export VITE_CHAT_WS_URL=${VITE_CHAT_WS_URL:-wss://www.your-part.de:1235} echo "VITE_API_BASE_URL=$VITE_API_BASE_URL" echo "VITE_DAEMON_SOCKET=$VITE_DAEMON_SOCKET" echo "VITE_CHAT_WS_URL=$VITE_CHAT_WS_URL" npm run build if [ $? -ne 0 ]; then echo "❌ Build fehlgeschlagen!" exit 1 fi echo "✅ Build erfolgreich!" # 6. Zielverzeichnis erstellen (falls nicht vorhanden) echo "Erstelle Zielverzeichnis..." sudo mkdir -p /opt/yourpart/frontend/dist # 7. Altes Frontend löschen echo "Lösche altes Frontend..." sudo rm -rf /opt/yourpart/frontend/dist # 8. Zielverzeichnis neu erstellen echo "Erstelle Zielverzeichnis neu..." sudo mkdir -p /opt/yourpart/frontend/dist # 9. Neues Frontend kopieren echo "Kopiere neues Frontend..." sudo cp -r dist/* /opt/yourpart/frontend/dist/ # 10. (Optional) .env Datei kopieren, falls existiert if [ -f .env ]; then echo "Kopiere .env Datei..." sudo cp .env /opt/yourpart/frontend/ fi # 11. Berechtigungen setzen echo "Setze Berechtigungen..." sudo chown -R www-data:www-data /opt/yourpart/frontend/dist if [ -f /opt/yourpart/frontend/.env ]; then sudo chown www-data:www-data /opt/yourpart/frontend/.env sudo chmod 644 /opt/yourpart/frontend/.env fi sudo chmod -R 755 /opt/yourpart/frontend/dist # 12. Apache neu laden echo "Lade Apache neu..." sudo systemctl reload apache2 echo "" echo "=== Frontend Deployment abgeschlossen! ===" echo "✅ Frontend neu gebaut" echo "✅ Frontend deployt" echo "✅ Apache neu geladen" echo "" echo "Testen Sie jetzt die Anwendung!" echo "API-Requests sollten jetzt an /api/... gehen statt localhost:3001"