Files
2026-01-25 15:14:13 +01:00

78 lines
1.6 KiB
Markdown

# Portainer Stack Backup Script
Dieses Skript sichert **alle Docker-Compose-Stacks aus Portainer** über die Portainer-API.
Es exportiert **immer die aktuell aktive Compose-Version** jedes Stacks und speichert sie
übersichtlich nach Stack-Namen.
Optional kann das Ergebnis zusätzlich als `tar.gz` archiviert werden.
---
## Features
- Backup **aller Portainer Stacks**
- Export der **aktuellen** `docker-compose.yml` je Stack
- Optionales `tar.gz`-Archiv
- Geeignet für:
- manuelle Nutzung
- Cronjobs
- Server / Docker-Hosts
---
## Voraussetzungen
Auf dem System müssen folgende Tools vorhanden sein:
| Tool | Benötigt |
|----|----|
| `bash` | ja |
| `curl` | ja |
| `jq` | ja |
| `tar` | **nur wenn** `CREATE_ARCHIVE=1` |
---
## Installation
Skript ausführbar machen:
```bash
chmod +x shell_portainer_stack_backup.sh
```
---
## Konfiguration (`settings.env`)
Die Datei `settings.env` muss **im selben Verzeichnis** wie das Skript liegen.
### Beispiel:
```bash
# Portainer connection
PORTAINER_URL="https://192.168.178.25:9443"
# Portainer API key
API_KEY="ptr_xxxxxxxxxxxxxxxxxxxxxx"
# Base output directory
OUT_DIR="/home/thorsten/Portainer_Backup"
# Create archive?
# 1 = create tar.gz and remove directory afterwards
# 0 = keep directory only
CREATE_ARCHIVE=1
```
## Hinweise & Einschränkungen
- Das Skript sichert **nur die Stack-Definitionen**, **keine Volumes / Daten**
- Git-basierte Stacks werden als **aktuelle, aufgelöste Compose-Datei** gesichert
- Der API-Key benötigt mindestens:
- Zugriff auf Stacks
- Zugriff auf das jeweilige Endpoint
---