Aktualisierung¶
Anleitung zur Aktualisierung von Bifolk auf eine neue Version.
Zielgruppe: Systemadministratoren
Vor der Aktualisierung¶
Vervollständigen Sie diese Checkliste vor dem Start:
- Release-Notes auf Breaking Changes lesen
- Datenbank sichern (siehe Backup & Wiederherstellung)
- Mediendateien und Konfiguration sichern (
.env,secrets/) - Ausreichend Festplattenspeicher sicherstellen
- Benutzer über geplante Ausfallzeit informieren
Aktuelle Version prüfen¶
# Git-Version
git describe --tags --always
# Django-Version
docker compose exec bifolk-app python -c "import django; print(django.get_version())"
Standard-Aktualisierungsverfahren¶
Schritt 1: Backup erstellen¶
# Datenbank-Backup (PostgreSQL)
docker compose exec bifolk-db pg_dump -U bifolk bifolk -F c > backup-pre-upgrade-$(date +%Y%m%d).dump
# Mediendateien
tar -czf media-backup-$(date +%Y%m%d).tar.gz -C app/media .
# Konfiguration
tar -czf config-backup-$(date +%Y%m%d).tar.gz .env config/
Schritt 2: Anwendung stoppen¶
Schritt 3: Neuesten Code holen¶
git fetch origin
# Bestimmte Version auschecken (empfohlen)
git checkout v1.3.0
# Oder neuesten Stand von main holen
git checkout main && git pull origin main
Schritt 4: Neu bauen und migrieren¶
# Docker-Image neu bauen
docker compose build bifolk-app
# Datenbankmigrationen anwenden
docker compose run --rm bifolk-app python manage.py migrate
# Statische Dateien aktualisieren
docker compose run --rm bifolk-app python manage.py collectstatic --no-input
Schritt 5: Starten und verifizieren¶
# Anwendung starten
docker compose up -d
# Logs auf Fehler prüfen
docker logs bifolk-app --tail 100
# Web-Oberfläche verifizieren
curl -I http://localhost:8000
# Django-Systemprüfung ausführen
docker compose exec bifolk-app python manage.py check --database default
Schritt 6: Nach-Aktualisierungs-Verifizierung¶
- Als Admin-Benutzer anmelden
- Überprüfen, ob bestehende Bienenstöcke und Durchsichten korrekt angezeigt werden
- Erstellen eines neuen Datensatzes testen
- Prüfen, ob Organisationswechsel funktioniert
- Logs 24 Stunden überwachen
Schnellaktualisierung (nur Entwicklung)¶
Warning
Nur für Entwicklungsumgebungen verwenden.
git pull origin main
docker compose down
docker compose up -d --build
docker compose exec bifolk-app python manage.py migrate
Datenbankmigrationen¶
Ausstehende Migrationen prüfen¶
# Alle Migrationen und ihren Status anzeigen
docker compose exec bifolk-app python manage.py showmigrations
# Nur nicht angewendete anzeigen
docker compose exec bifolk-app python manage.py showmigrations --plan | grep "\[ \]"
Migrationen anwenden¶
# Immer zuerst sichern
docker compose exec bifolk-db pg_dump -U bifolk bifolk -F c > backup-pre-migration.dump
# Anwenden
docker compose exec bifolk-app python manage.py migrate
Fehlgeschlagene Migrationen behandeln¶
# Eine bestimmte App auf eine frühere Migration zurücksetzen
docker compose exec bifolk-app python manage.py migrate hives 0003_previous_migration
# Wenn nicht wiederherstellbar, aus Backup wiederherstellen
# Siehe Rollback-Abschnitt unten
Rollback¶
Wenn eine Aktualisierung fehlschlägt, stellen Sie den vorherigen Zustand wieder her.
Vollständiger Rollback¶
# Anwendung stoppen
docker compose stop bifolk-app
# Datenbank aus Backup wiederherstellen
docker compose exec -T bifolk-db psql -U bifolk -c "DROP DATABASE bifolk;"
docker compose exec -T bifolk-db psql -U bifolk -c "CREATE DATABASE bifolk;"
cat backup-pre-upgrade-YYYYMMDD.dump | docker compose exec -T bifolk-db pg_restore -U bifolk -d bifolk -F c
# Vorherige Version auschecken
git checkout v1.2.0
# Neu bauen und starten
docker compose build bifolk-app
docker compose up -d
# Verifizieren
curl -I http://localhost:8000
Nur-Migrations-Rollback¶
# Eine bestimmte App auf eine bekannte gute Migration zurücksetzen
docker compose exec bifolk-app python manage.py migrate hives 0003_previous_migration
# Neu starten
docker compose restart bifolk-app
Verwandte Dokumentation¶
- Backup & Wiederherstellung - Backup- und Wiederherstellungsverfahren
- Wartung - Laufende Systemwartung
- Fehlerbehebung - Häufige Probleme und Lösungen