From ed786daa9a8229b250c7475cbc8686b44b64a5db Mon Sep 17 00:00:00 2001 From: Thorsten Date: Sun, 25 Jan 2026 15:14:13 +0100 Subject: [PATCH] . --- README.md | 108 +----------------------------------------------------- 1 file changed, 1 insertion(+), 107 deletions(-) diff --git a/README.md b/README.md index 8604c65..80bc754 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,7 @@ Optional kann das Ergebnis zusätzlich als `tar.gz` archiviert werden. - Backup **aller Portainer Stacks** - Export der **aktuellen** `docker-compose.yml` je Stack -- Ruhige, übersichtliche Konsolen-Ausgabe -- Vollständiges Logfile (`backup.log`) - Optionales `tar.gz`-Archiv -- Automatisches Aufräumen bei Archiv-Erstellung - Geeignet für: - manuelle Nutzung - Cronjobs @@ -34,22 +31,11 @@ Auf dem System müssen folgende Tools vorhanden sein: | `jq` | ja | | `tar` | **nur wenn** `CREATE_ARCHIVE=1` | -Getestet u. a. mit: -- Fedora -- Debian / Ubuntu -- Proxmox Host --- ## Installation -Repository klonen oder Skript manuell ablegen: - -```bash -git clone -cd shell_portainer_stack_backup -``` - Skript ausführbar machen: ```bash @@ -72,7 +58,7 @@ PORTAINER_URL="https://192.168.178.25:9443" API_KEY="ptr_xxxxxxxxxxxxxxxxxxxxxx" # Base output directory -OUT_DIR="/home/thorsten/Schreibtisch/Backup" +OUT_DIR="/home/thorsten/Portainer_Backup" # Create archive? # 1 = create tar.gz and remove directory afterwards @@ -80,84 +66,6 @@ OUT_DIR="/home/thorsten/Schreibtisch/Backup" CREATE_ARCHIVE=1 ``` -**Hinweis:** -- API-Keys niemals ins Git-Repository committen -- Empfohlene Rechte: - ```bash - chmod 600 settings.env - ``` - ---- - -## Nutzung - -```bash -./shell_portainer_stack_backup.sh -``` - -Beispiel-Ausgabe: - -``` -Portainer Stack Backup started -Target: /home/thorsten/Schreibtisch/Backup/portainer-stack-backup-2026-01-25_15-00-00 - -Portainer reachable -API key valid -Stacks found: 57 - -Starting backup - -[OK] jellyfin -[OK] paperless -[FAIL] test-stack - -Backup finished: OK=56 FAIL=1 -Archive created: portainer-stack-backup-2026-01-25_15-00-00.tar.gz -Cleanup done: removed /home/thorsten/Schreibtisch/Backup/portainer-stack-backup-2026-01-25_15-00-00 -Done. -``` - ---- - -## Ergebnisstruktur - -### Wenn `CREATE_ARCHIVE=0` - -``` -portainer-stack-backup-YYYY-MM-DD_HHMMSS/ -├── backup.log -└── stacks/ - ├── jellyfin/ - │ ├── docker-compose.yml - │ └── meta.json - └── paperless/ - ├── docker-compose.yml - └── meta.json -``` - -### Wenn `CREATE_ARCHIVE=1` - -``` -portainer-stack-backup-YYYY-MM-DD_HHMMSS.tar.gz -``` - -(Der temporäre Ordner wird nach erfolgreicher Archiv-Erstellung gelöscht.) - ---- - -## Logfile - -Während der Laufzeit wird **jede Ausgabe** gleichzeitig: - -- im Terminal angezeigt -- in `backup.log` gespeichert - -Das Logfile liegt: -- bei `CREATE_ARCHIVE=0` im Backup-Ordner -- bei `CREATE_ARCHIVE=1` im Archiv - ---- - ## Hinweise & Einschränkungen - Das Skript sichert **nur die Stack-Definitionen**, **keine Volumes / Daten** @@ -167,17 +75,3 @@ Das Logfile liegt: - Zugriff auf das jeweilige Endpoint --- - -## Typische Einsatzszenarien - -- Versionierung von Compose-Files in Git -- Dokumentation der aktuellen Portainer-Konfiguration -- Vorbereitung für Migration / Rebuild -- Regelmäßige Sicherung per Cron - ---- - -## Lizenz - -Privates / internes Tool -Keine Garantie – Nutzung auf eigene Verantwortung.