From c9dc2bc4b3e6ee69fab0d38f5ffdbd6dedebf010 Mon Sep 17 00:00:00 2001 From: guyg1474 <340572510+guyg1474@users.noreply.github.com> Date: Sat, 10 Oct 2026 14:16:09 +0200 Subject: [PATCH] Deploy-Skripte funktionieren in jedem Projektordner Co-Authored-By: Claude Opus 5.5 --- DEPLOY.md | 4 ++++ deploy/backup.sh | 5 +++-- deploy/update-docker.sh | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/DEPLOY.md b/DEPLOY.md index dcc7cae..ff9db8f 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -28,6 +28,10 @@ cat ~/.ssh/hcrb_deploy.pub Den ausgegebenen Schlüssel im Repository unter *Settings → Deploy keys* eintragen (nur Lesezugriff). Dann: +> **Ordner:** Die Anleitung nutzt `/opt/hcrb`. Jeder andere Ordner geht genauso (z. B. `~/docker/hcrb` neben den +> anderen Docker-Projekten) – dann `/opt/hcrb` in den Befehlen unten einfach durch den eigenen Pfad ersetzen. +> Die Skripte in `deploy/` finden ihren Ordner selbst. + ```bash sudo mkdir -p /opt/hcrb && sudo chown $USER: /opt/hcrb GIT_SSH_COMMAND="ssh -i ~/.ssh/hcrb_deploy" git clone git@github.com:guyg1474/hcrb.git /opt/hcrb diff --git a/deploy/backup.sh b/deploy/backup.sh index 864ea85..b23a53e 100755 --- a/deploy/backup.sh +++ b/deploy/backup.sh @@ -1,10 +1,11 @@ #!/bin/bash # Tägliche Sicherung von data/ (Mitglieder, Termine, Benutzer) – behält die letzten 30 Tage. # Als Cronjob einrichten (sudo crontab -e): -# 30 3 * * * /opt/hcrb/deploy/backup.sh +# 30 3 * * * /deploy/backup.sh set -euo pipefail +PROJECT="$(dirname "$(readlink -f "$0")")/.." DEST=/var/backups/hcrb mkdir -p "$DEST" -tar -czf "$DEST/hcrb-$(date +%F).tar.gz" -C /opt/hcrb data +tar -czf "$DEST/hcrb-$(date +%F).tar.gz" -C "$PROJECT" data chmod 600 "$DEST"/hcrb-*.tar.gz find "$DEST" -name 'hcrb-*.tar.gz' -mtime +30 -delete diff --git a/deploy/update-docker.sh b/deploy/update-docker.sh index cbd6a79..0d83a23 100755 --- a/deploy/update-docker.sh +++ b/deploy/update-docker.sh @@ -1,8 +1,8 @@ #!/bin/bash -# Neue Version einspielen (Docker) – auf dem Server ausführen: /opt/hcrb/deploy/update-docker.sh +# Neue Version einspielen (Docker) – auf dem Server ausführen: /deploy/update-docker.sh # Die Daten in data/ bleiben dabei unberührt. set -euo pipefail -cd /opt/hcrb +cd "$(dirname "$(readlink -f "$0")")/.." git pull --ff-only docker compose up -d --build