Files
yourpart3/update-frontend.sh
Torsten Schulz (local) c6ffdd10f7
All checks were successful
Deploy to production / deploy (push) Successful in 2m3s
feat(update-frontend): enhance environment file handling and add Google AdSense script
- Updated the script to prioritize the root environment file for builds, falling back to the frontend environment file if necessary.
- Added a Google AdSense script to the frontend HTML for improved monetization capabilities.
2026-04-27 16:36:38 +02:00

77 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
TARGET_DIR="${1:?target dir required}"
FRONTEND_DIR="$TARGET_DIR/frontend"
CURRENT_LINK="/opt/yourpart"
CURRENT_FRONTEND="$CURRENT_LINK/frontend"
CURRENT_ROOT_ENV="$CURRENT_LINK/.env"
echo "=== YourPart Frontend Update ==="
echo "Ziel: $FRONTEND_DIR"
echo "NOTE: .env files will NOT be overwritten"
cd "$FRONTEND_DIR"
if [ -d "dist" ]; then
echo "Korrigiere Berechtigungen für dist-Verzeichnis..."
sudo -n chown -R "$USER:$USER" dist/ 2>/dev/null || true
fi
echo "Lösche alle generierten Verzeichnisse..."
rm -rf dist/
rm -rf node_modules/.vite/
rm -rf node_modules/.cache/
TEMP_ENV="/tmp/yourpart-frontend-env-$$"
if [ -f "$CURRENT_ROOT_ENV" ]; then
echo "Nutze bestehende .env-Datei vom Live-System (Root) für Build..."
cp "$CURRENT_ROOT_ENV" "$TEMP_ENV"
cp "$TEMP_ENV" .env
elif [ -f "$CURRENT_FRONTEND/.env" ]; then
echo "Nutze bestehende .env-Datei vom Live-System (Frontend) für Build..."
cp "$CURRENT_FRONTEND/.env" "$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
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"
echo "Installiere Dependencies..."
npm install
echo "Baue Frontend..."
npm run build
rm -f "$TEMP_ENV"
if [ -f "$FRONTEND_DIR/.env" ]; then
echo "✓ Bestehende .env-Datei wurde beibehalten"
else
echo "⚠ Keine .env-Datei im Zielverzeichnis gefunden"
fi
echo "Setze Berechtigungen..."
sudo -n chown -R www-data:www-data "$FRONTEND_DIR/dist"
if [ -f "$FRONTEND_DIR/.env" ]; then
sudo -n chown www-data:www-data "$FRONTEND_DIR/.env"
sudo -n chmod 644 "$FRONTEND_DIR/.env"
fi
sudo -n chmod -R 755 "$FRONTEND_DIR/dist"
echo "=== Frontend Update abgeschlossen! ==="