99 lines
1.7 KiB
Markdown
99 lines
1.7 KiB
Markdown
# Rollback Guide — Homelab
|
|
|
|
Dieses Dokument beschreibt, wie Änderungen rückgängig gemacht werden können.
|
|
|
|
---
|
|
|
|
## Grundprinzip
|
|
|
|
Jede Änderung muss rückrollbar sein.
|
|
|
|
---
|
|
|
|
## Standard-Rollback (Git)
|
|
|
|
### Letzten Stand anzeigen
|
|
```bash
|
|
git log --oneline
|
|
```
|
|
|
|
### Auf vorherigen Stand zurücksetzen
|
|
```bash
|
|
git reset --hard <commit-id>
|
|
git push --force
|
|
```
|
|
|
|
---
|
|
|
|
## Rollback über Komodo (primär)
|
|
|
|
1. Stack in Komodo öffnen
|
|
2. „Redeploy" auswählen
|
|
3. vorherigen Commit im Gitea-Repo referenzieren
|
|
4. Deploy ausführen
|
|
|
|
---
|
|
|
|
## Rollback über Portainer (Legacy)
|
|
|
|
> ⚠️ Portainer CE ist in Ablösung durch Komodo (Sprint 5). Bis zur Abschaltung weiterhin nutzbar.
|
|
|
|
1. Stack öffnen
|
|
2. „Redeploy" auswählen
|
|
3. vorherigen Commit verwenden (bei Git-Stacks)
|
|
|
|
---
|
|
|
|
## Container-Rollback
|
|
|
|
Wenn ein neuer Stack Probleme macht:
|
|
|
|
1. neuen Container stoppen
|
|
2. alten Container wieder starten
|
|
3. Logs prüfen
|
|
|
|
---
|
|
|
|
## Datenbank-Rollback
|
|
|
|
### Backup vorhanden (empfohlen über backrest)
|
|
Restore durchführen
|
|
|
|
### Manuelle Sicherung
|
|
```bash
|
|
cp -r /mnt/user/appdata/<service> /mnt/user/backup/
|
|
```
|
|
|
|
### PostgreSQL-Dump
|
|
```bash
|
|
pg_dumpall > /mnt/user/backup/pg_dump_$(date +%Y%m%d).sql
|
|
```
|
|
|
|
---
|
|
|
|
## Best Practices
|
|
|
|
- Immer nur **eine Änderung gleichzeitig**
|
|
- Vor jeder Änderung prüfen:
|
|
- läuft Backup?
|
|
- ist der aktuelle Zustand stabil?
|
|
- Nach jeder Änderung:
|
|
- Funktion testen
|
|
- Logs prüfen
|
|
- Migration im `MIGRATION_LOG.md` dokumentieren
|
|
|
|
---
|
|
|
|
## Notfallregel
|
|
|
|
Wenn etwas unklar ist:
|
|
- NICHT weiter ändern
|
|
- aktuellen Zustand analysieren
|
|
- gezielt und kontrolliert eingreifen
|
|
|
|
---
|
|
|
|
## Ziel
|
|
|
|
Rollback muss jederzeit möglich sein, ohne Datenverlust und ohne unnötige Downtime.
|