- Changed the default value for `VITE_DAEMON_SOCKET` in `deploy-frontend.sh` and `update-frontend.sh` to use the `/ws/` path. - Updated the message rendering logic in `MessagesDialog.vue` to utilize a new `formatBody` method for improved translation handling. - Added a new translation for "overproduction" in both English and German localization files.
106 lines
3.3 KiB
Bash
Executable File
106 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
echo "=== YourPart Frontend Update ==="
|
||
echo "NOTE: .env files will NOT be overwritten"
|
||
|
||
# 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. Verwende bestehende .env-Dateien im Zielverzeichnis für Build
|
||
# Kopiere temporär die bestehende .env vom Ziel, falls vorhanden
|
||
TEMP_ENV="/tmp/yourpart-frontend-env-$$"
|
||
if [ -f /opt/yourpart/frontend/.env ]; then
|
||
echo "Nutze bestehende .env-Datei vom Zielverzeichnis für Build..."
|
||
sudo cp /opt/yourpart/frontend/.env "$TEMP_ENV"
|
||
sudo chown $USER:$USER "$TEMP_ENV"
|
||
cp "$TEMP_ENV" .env
|
||
elif [ -f .env.production ]; then
|
||
echo "Nutze .env.production für Build..."
|
||
cp .env.production .env
|
||
elif [ -f .env.server ]; then
|
||
echo "Nutze .env.server für Build..."
|
||
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!"
|
||
# Temporäre .env-Datei aufräumen
|
||
rm -f "$TEMP_ENV"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ Build erfolgreich!"
|
||
|
||
# Temporäre .env-Datei aufräumen
|
||
rm -f "$TEMP_ENV"
|
||
|
||
# 6. Zielverzeichnis erstellen (falls nicht vorhanden)
|
||
echo "Erstelle Zielverzeichnis..."
|
||
sudo mkdir -p /opt/yourpart/frontend/dist
|
||
|
||
# 7. Altes Frontend löschen (außer .env-Dateien)
|
||
echo "Lösche altes Frontend (außer .env-Dateien)..."
|
||
sudo find /opt/yourpart/frontend/dist -mindepth 1 -exec rm -rf {} + 2>/dev/null || true
|
||
|
||
# 8. Neues Frontend kopieren
|
||
echo "Kopiere neues Frontend..."
|
||
sudo cp -r dist/* /opt/yourpart/frontend/dist/
|
||
|
||
# 9. .env-Dateien NICHT überschreiben - bestehende beibehalten
|
||
if [ -f /opt/yourpart/frontend/.env ]; then
|
||
echo "✓ Bestehende .env-Datei wurde beibehalten (nicht überschrieben)"
|
||
else
|
||
echo "⚠ Keine .env-Datei im Zielverzeichnis gefunden"
|
||
# Falls .env im Quellverzeichnis existiert, kopiere sie nur wenn sie im Ziel nicht existiert
|
||
if [ -f .env ]; then
|
||
echo "Kopiere .env-Datei (nur wenn nicht vorhanden)..."
|
||
sudo cp .env /opt/yourpart/frontend/
|
||
fi
|
||
fi
|
||
|
||
# 10. 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
|
||
|
||
# 11. Apache neu laden
|
||
echo "Lade Apache neu..."
|
||
sudo systemctl reload apache2
|
||
|
||
echo ""
|
||
echo "=== Frontend Update abgeschlossen! ==="
|
||
echo "✅ Frontend neu gebaut"
|
||
echo "✅ Frontend aktualisiert"
|
||
echo "✅ .env-Dateien wurden NICHT überschrieben"
|
||
echo "✅ Apache neu geladen"
|
||
echo ""
|
||
|