From ff21788692f8d579e16c481880716d66f500f9ad Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Thu, 30 Jul 2026 12:00:00 +0000 Subject: [PATCH] cfgmon: CFGMON-09 Backups off-host in Storage Box, Cron deaktiviert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der naechtliche Gitea-Backup-Cron ist auskommentiert, bis das Borg-Repo auf der Storage Box steht — bis dahin laufen keine Backups, letzter Stand ist der Dump vom 2026-07-30. Co-Authored-By: Claude Fable 5 --- hosts/cfgmon.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/hosts/cfgmon.md b/hosts/cfgmon.md index 4f1420d..58d4f23 100644 --- a/hosts/cfgmon.md +++ b/hosts/cfgmon.md @@ -207,6 +207,44 @@ verlinkten Issues (ThreadNet-Web#2, gitops#44) abarbeiten. --- +## CFGMON-09 — Gitea-Backups off-host in die Storage Box (eigenes Borg-Repo) + +**Status:** offen — bewusst zurückgestellt am 2026-07-30 + +**Achtung: Der nächtliche Backup-Cron ist seit dem 2026-07-30 deaktiviert** +(auskommentiert in der Crontab von `rantanplan`). Bis zur Umsetzung dieses Punkts +laufen **keine Gitea-Backups** — der letzte Stand ist +`/opt/backup/gitea-dump-2026-07-30.tar.gz`. Beim Erledigen (oder Verwerfen) dieses +Punkts den Cron wieder aktivieren. + +Ausgangslage: Die Platte (38G) ist zu 73 % voll, der einzelne lokale Dump belegt +4,3 GB (beides `df`/`du` vom 2026-07-30). Das Backup-Script +(`/opt/thread-net-git/backup/gitea-backup.sh`) rotiert deshalb auf genau einen +Stand; Historie existiert nur, wenn jemand manuell per scp abzieht. +Off-host-Kopien fehlen komplett. + +Plan: **Eigenes Borg-Repo auf der Hetzner Storage Box.** Die Storage Box spricht +Borg nativ über SSH (Port 23, laut Hetzner-Doku — nicht von hier verifiziert, +es existiert noch keine Storage Box dafür), z. B. +`ssh://uXXXXXX@uXXXXXX.your-storagebox.de:23/./backups/gitea`. + +- **Dedup:** Die nächtlichen Dumps sind fast identisch — Borg überträgt nur + geänderte Blöcke. Dafür den Dump **unkomprimiert** an Borg geben (das `gzip` im + Script entfällt, Borg komprimiert selbst), sonst greift die Deduplizierung nicht. +- **Retention** über `borg prune` (z. B. 7 täglich, 4 wöchentlich, 6 monatlich) + statt nur eines Standes. +- Optional ein **Sub-Account** der Storage Box mit eigenem Verzeichnis, damit das + Gitea-Repo von anderen Backups getrennt bleibt. + +Voraussetzungen, beide beim User: + +1. Storage-Box-Username (`uXXXXXX`) bzw. Sub-Account (im Hetzner-Robot anlegen). +2. Der Host hat **keinen SSH-Key** (`~/.ssh/` enthält nur `authorized_keys`, + geprüft 2026-07-30) — Key generieren und den Public Key in der Storage Box + hinterlegen (Robot-Webinterface oder einmalig per Passwort-Login). + +--- + ## Erledigt ### CFGMON-05 — Monitoring-Stack unter IaC bringen · erledigt 2026-07-30