#!/bin/bash set -e # Ins Verzeichnis des Scripts wechseln (Repo-Root) SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" # ══════════════════════════════════════════════════════════════════════ # Konfiguration – einmalig anpassen # ══════════════════════════════════════════════════════════════════════ SERVER_USER="flo" SERVER_HOST="h2900109.stratoserver.net" SERVER_PORT="1122" BUILD_DIR="/var/www/vhosts/memap.de/httpdocs/timetracking/timetracking-copy/public/build" WEB_USER="memap" WEB_GROUP="psaserv" # ══════════════════════════════════════════════════════════════════════ echo "" echo "╔══════════════════════════════════════╗" echo "║ spawntree Timetracker – Build ║" echo "╚══════════════════════════════════════╝" echo "" # ── 1. Assets lokal bauen ───────────────────────────────────────────── echo "⏳ [1/4] Assets bauen (DDEV)..." ddev exec npm run build # ── 2. Build-Verzeichnis als tar packen ─────────────────────────────── echo "⏳ [2/4] Build packen..." tar -czf /tmp/build.tar.gz -C public --exclude='._*' build/ # ── 3. Tar hochladen ────────────────────────────────────────────────── echo "⏳ [3/4] Build hochladen..." scp -P "$SERVER_PORT" /tmp/build.tar.gz "$SERVER_USER@$SERVER_HOST:/tmp/" # ── 4. Auf dem Server entpacken und Rechte setzen ───────────────────── echo "⏳ [4/4] Entpacken und Rechte setzen..." ssh -t -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" \ "sudo tar -xzf /tmp/build.tar.gz -C $(dirname $BUILD_DIR)/ && \ sudo chown -R $WEB_USER:$WEB_GROUP $BUILD_DIR && \ sudo chmod 644 $BUILD_DIR/* && \ echo '' && ls -la $BUILD_DIR" echo "" echo "✅ Build hochgeladen." echo ""