#!/bin/bash # deploy.sh — Push zu Forgejo + sofort auf pve-hetzner synchronisieren # CT 116 sieht Änderungen automatisch über Bind-Mount. # # Nutzung: ./scripts/deploy.sh "Commit-Nachricht" # ./scripts/deploy.sh (ohne Nachricht = Auto-Message) set -euo pipefail cd "$(dirname "$0")/.." source homelab.conf MSG="${1:-Deploy: $(date +%Y-%m-%d\ %H:%M)}" git add -A if git diff --cached --quiet 2>/dev/null; then echo "Nichts zu committen." else git commit -m "$MSG" fi git fetch forgejo main git rebase forgejo/main git push forgejo main echo "→ Sync auf pve-hetzner..." sshpass -p "$PW_HETZNER" ssh -o StrictHostKeyChecking=no root@$SRV_HETZNER \ 'cd /opt/homelab-brain && git fetch origin main --quiet && git reset --hard FETCH_HEAD --quiet && echo "OK: $(git log --oneline -1)"' echo "→ Bot neu starten..." sshpass -p "$PW_HETZNER" ssh -o StrictHostKeyChecking=no root@$SRV_HETZNER \ 'pct exec 116 -- systemctl restart hausmeister-bot 2>/dev/null && echo "Bot restarted" || echo "Bot restart nicht nötig"' echo "✅ Deploy fertig."