Merge branch 'wartung/einstellungen-stand-altreste' into wartung/restarbeiten

# Conflicts:
#	deploy/deploy.sh
This commit is contained in:
Hitonabi
2026-09-24 20:47:53 +02:00
27 changed files with 2738 additions and 110 deletions
+11 -3
View File
@@ -1,9 +1,10 @@
#!/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).
# Läuft am PC (Git-Bash, im Repo) oder im Deploy der Box. Schickt den Stand von HEAD (backend, deploy,
# frontend/dist) per SSH in den Container, lässt einrichten.sh laufen und startet die Dienste neu. Danach hält
# es den Stand in /var/lib/mc2/mc2-stand.json fest. Der Container braucht so keinen Zugang zu Gitea.
# Vorher: bash deploy/pruefen.sh (und deploy/probelauf-box.sh).
#
# Nutzung: bash deploy/homelab/ausrollen.sh <ip-des-containers> [partner-url]
set -euo pipefail
@@ -17,3 +18,10 @@ 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'"
# Software-Stand für die Oberfläche (Einstellungen → Software-Stand, seit 24.09.2026): erst nach erfolgreichem
# Einrichten, also wenn dieser Stand wirklich läuft. Liegt im Datenordner, den das Ausrollen nicht leert. Scheitert
# nur das, gilt das Ausrollen trotzdem als gelungen.
git log -1 --format='%h%n%cI%n%s' HEAD \
| ssh -o BatchMode=yes "$ZIEL" "python3 /opt/mc2/deploy/stand-schreiben.py /var/lib/mc2/mc2-stand.json \
&& chown mc2:mc2 /var/lib/mc2/mc2-stand.json" \
|| echo "Hinweis: Die Stand-Datei im Container ließ sich nicht schreiben."