Remove Google Chrome RPM package file
This commit is contained in:
Binary file not shown.
105
update-backend.sh
Executable file
105
update-backend.sh
Executable file
@@ -0,0 +1,105 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Optionaler Parameter für STAGE (Standard: production)
|
||||||
|
STAGE=${1:-production}
|
||||||
|
|
||||||
|
echo "Updating YourPart Backend..."
|
||||||
|
echo "Using STAGE: $STAGE"
|
||||||
|
echo "NOTE: .env files will NOT be overwritten"
|
||||||
|
|
||||||
|
# Zum Backend-Verzeichnis wechseln
|
||||||
|
cd backend
|
||||||
|
|
||||||
|
# Alle generierten Verzeichnisse löschen
|
||||||
|
echo "Lösche alle generierten Verzeichnisse..."
|
||||||
|
rm -rf node_modules/.cache/
|
||||||
|
rm -rf logs/
|
||||||
|
rm -rf tmp/
|
||||||
|
|
||||||
|
# Dependencies installieren
|
||||||
|
echo "Installing dependencies..."
|
||||||
|
npm ci --production
|
||||||
|
|
||||||
|
# Altes Backend löschen und neues kopieren
|
||||||
|
echo "Lösche altes Backend (außer .env)..."
|
||||||
|
# Sichere .env-Dateien temporär
|
||||||
|
TEMP_ENV_DIR="/tmp/yourpart-backend-env-$$"
|
||||||
|
if [ -d /opt/yourpart/backend ]; then
|
||||||
|
sudo mkdir -p "$TEMP_ENV_DIR"
|
||||||
|
sudo find /opt/yourpart/backend -maxdepth 1 -name '.env*' -type f -exec sudo cp {} "$TEMP_ENV_DIR/" \; 2>/dev/null || true
|
||||||
|
# Lösche alles im Backend-Verzeichnis
|
||||||
|
sudo rm -rf /opt/yourpart/backend/* /opt/yourpart/backend/.[!.]* 2>/dev/null || true
|
||||||
|
# Stelle .env-Dateien wieder her
|
||||||
|
if [ -d "$TEMP_ENV_DIR" ] && [ "$(ls -A $TEMP_ENV_DIR 2>/dev/null)" ]; then
|
||||||
|
sudo cp "$TEMP_ENV_DIR"/* /opt/yourpart/backend/ 2>/dev/null || true
|
||||||
|
echo "✓ .env-Dateien wurden gesichert und wiederhergestellt"
|
||||||
|
fi
|
||||||
|
sudo rm -rf "$TEMP_ENV_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Erstelle Backend-Verzeichnis (falls nicht vorhanden)..."
|
||||||
|
sudo mkdir -p /opt/yourpart/backend
|
||||||
|
|
||||||
|
echo "Kopiere neues Backend (ohne .env-Dateien)..."
|
||||||
|
# Verwende rsync, um .env-Dateien auszuschließen
|
||||||
|
if command -v rsync &> /dev/null; then
|
||||||
|
sudo rsync -av --exclude='.env*' --exclude='node_modules' . /opt/yourpart/backend/ 2>/dev/null
|
||||||
|
# node_modules separat kopieren (ohne .env)
|
||||||
|
if [ -d node_modules ]; then
|
||||||
|
sudo rsync -av --exclude='.env*' node_modules/ /opt/yourpart/backend/node_modules/ 2>/dev/null || \
|
||||||
|
sudo cp -r node_modules /opt/yourpart/backend/ 2>/dev/null
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Fallback: Kopiere alles und lösche dann .env-Dateien
|
||||||
|
sudo cp -r * /opt/yourpart/backend/ 2>/dev/null
|
||||||
|
sudo find /opt/yourpart/backend -name '.env*' -type f -delete 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Stelle sicher, dass .env-Dateien nicht überschrieben wurden
|
||||||
|
echo "Stelle sicher, dass .env-Dateien erhalten bleiben..."
|
||||||
|
if [ -f /opt/yourpart/backend/.env ]; then
|
||||||
|
echo "✓ Bestehende .env-Datei wurde beibehalten"
|
||||||
|
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/backend/
|
||||||
|
sudo chown yourpart:yourpart /opt/yourpart/backend/.env
|
||||||
|
sudo chmod 600 /opt/yourpart/backend/.env
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Berechtigungen setzen
|
||||||
|
echo "Setting permissions..."
|
||||||
|
sudo chown -R yourpart:yourpart /opt/yourpart/backend
|
||||||
|
sudo chmod -R 755 /opt/yourpart/backend
|
||||||
|
# Stelle sicher, dass .env-Dateien die richtigen Berechtigungen haben
|
||||||
|
if [ -f /opt/yourpart/backend/.env ]; then
|
||||||
|
sudo chmod 600 /opt/yourpart/backend/.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Systemd-Service aktualisieren und neu laden
|
||||||
|
echo "Updating systemd service..."
|
||||||
|
sudo cp yourpart.service /etc/systemd/system/
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
|
# Datenbank-Synchronisation durchführen
|
||||||
|
echo "Running database synchronization..."
|
||||||
|
cd /opt/yourpart/backend
|
||||||
|
|
||||||
|
# STAGE für Schema-Updates verwenden
|
||||||
|
echo "Running database sync with STAGE=$STAGE..."
|
||||||
|
export STAGE=$STAGE && npm run sync-db
|
||||||
|
|
||||||
|
# Service neu starten
|
||||||
|
echo "Restarting yourpart service..."
|
||||||
|
sudo systemctl restart yourpart
|
||||||
|
|
||||||
|
# Kurz warten und Status prüfen
|
||||||
|
sleep 2
|
||||||
|
echo "Checking service status..."
|
||||||
|
sudo systemctl status yourpart --no-pager
|
||||||
|
|
||||||
|
echo "Backend update completed!"
|
||||||
|
|
||||||
105
update-frontend.sh
Executable file
105
update-frontend.sh
Executable file
@@ -0,0 +1,105 @@
|
|||||||
|
#!/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:4551}
|
||||||
|
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 ""
|
||||||
|
|
||||||
36
update.sh
Executable file
36
update.sh
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "=== YourPart Update Script ==="
|
||||||
|
echo "Dieses Script aktualisiert die Anwendung OHNE .env-Dateien zu überschreiben"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Prüfen ob wir im richtigen Verzeichnis sind
|
||||||
|
if [ ! -f "package.json" ]; then
|
||||||
|
echo "Error: Please run this script from the YourPart3 root directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prüfen ob sudo verfügbar ist
|
||||||
|
if ! command -v sudo &> /dev/null; then
|
||||||
|
echo "Error: sudo is required but not installed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Backend updaten
|
||||||
|
echo ""
|
||||||
|
echo "=== Updating Backend ==="
|
||||||
|
./update-backend.sh
|
||||||
|
|
||||||
|
# Frontend bauen und updaten
|
||||||
|
echo ""
|
||||||
|
echo "=== Building and Updating Frontend ==="
|
||||||
|
./update-frontend.sh
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Update Completed! ==="
|
||||||
|
echo "Your application has been updated."
|
||||||
|
echo ""
|
||||||
|
echo "To check logs:"
|
||||||
|
echo " Backend: sudo journalctl -u yourpart.service -f"
|
||||||
|
echo " Apache: sudo tail -f /var/log/apache2/yourpart.*.log"
|
||||||
|
|
||||||
Reference in New Issue
Block a user