#!/usr/bin/env bash # ausrollen.sh — den Homelab-Teil in seinen Container bringen (erstmals und bei jedem Update). # # Läuft am PC (Git-Bash, im Repo). Schickt den Stand von HEAD (backend, deploy, frontend/dist) per SSH in # den Container, lässt einrichten.sh laufen und startet die Dienste neu. Der Container braucht so keinen # Zugang zu Gitea. Vorher: bash deploy/pruefen.sh (und deploy/probelauf-box.sh). # # Nutzung: bash deploy/homelab/ausrollen.sh [partner-url] set -euo pipefail cd "$(dirname "$0")/../.." IP="${1:?Nutzung: ausrollen.sh [partner-url]}" PARTNER="${2:-http://192.168.178.151:9001}" ZIEL="root@$IP" echo "Rolle $(git rev-parse --short HEAD) nach $IP aus …" git archive --format=tar HEAD backend deploy frontend/dist ruff.toml \ | ssh -o BatchMode=yes "$ZIEL" "mkdir -p /opt/mc2 && find /opt/mc2 -mindepth 1 -maxdepth 1 ! -name backend -exec rm -rf {} + \ && find /opt/mc2/backend -mindepth 1 -maxdepth 1 ! -name .venv -exec rm -rf {} + 2>/dev/null; tar -x -C /opt/mc2" ssh -o BatchMode=yes "$ZIEL" "bash /opt/mc2/deploy/homelab/einrichten.sh '$PARTNER'"