1 Betrieb Aktualisieren
Ralf Warmuth edited this page 2026-08-30 21:44:09 +02:00

PLM-Version aktualisieren

Diese Anleitung beschreibt ein kontrolliertes Update des produktiven Docker-Stacks.

1. Zielversion festlegen

Verwende die vollständige Commit-SHA des erfolgreichen Forgejo-Builds:

PLM_WEB_IMAGE=git.home.schumbi.de/ralf/freecad-plm-web:<vollständige-commit-sha>
PLM_WORKER_IMAGE=git.home.schumbi.de/ralf/freecad-plm-worker:<vollständige-commit-sha>

Web und Worker müssen immer aus demselben Commit stammen.

2. Vorprüfung

cd /opt/freecad-plm
df -h /opt
docker compose -f docker-compose.image.yml ps
docker images --format '{{.Repository}}:{{.Tag}} {{.Size}}' | grep freecad-plm

Halte das aktuell laufende Image als Rollback zurück.

3. Backup

Erstelle vor Migration und Containerwechsel ein gemeinsames Backup von Datenbank, storage/, .env und Compose-Datei. Siehe Backup und Wiederherstellung.

4. Begleitdateien aktualisieren

Wenn /opt/freecad-plm ein Git-Checkout ist:

git pull --ff-only

Prüfe danach Änderungen an .env.example und docker-compose.image.yml. Überschreibe die produktive .env nicht mit der Beispieldatei.

5. Images laden und starten

docker compose -f docker-compose.image.yml pull web worker
docker compose -f docker-compose.image.yml up -d

Der Webcontainer führt Migrationen und collectstatic aus. Der Worker wartet auf den gesunden Webdienst.

6. Verifizieren

docker compose -f docker-compose.image.yml ps
docker compose -f docker-compose.image.yml exec web python manage.py check
docker compose -f docker-compose.image.yml exec web python manage.py showmigrations plm
docker compose -f docker-compose.image.yml logs --tail=100 web worker

Zusätzlich im Browser prüfen:

  • HTTPS-URL lädt,
  • Anmeldung funktioniert,
  • Projektliste ist vorhanden,
  • Worker verarbeitet einen echten Job.

Bei aktiver Bambuddy-Integration zusätzlich:

docker compose -f docker-compose.image.yml exec worker \
  python manage.py sync_bambuddy_sources --dry-run --limit 20

7. Alte Images gezielt entfernen

Erst nach erfolgreicher Abnahme alte, eindeutig bezeichnete Tags entfernen:

docker image rm \
  git.home.schumbi.de/ralf/freecad-plm-web:<alte-sha> \
  git.home.schumbi.de/ralf/freecad-plm-worker:<alte-sha>

Behalte mindestens die unmittelbar vorherige produktive Version als Rollback. Verwende auf einem gemeinsam genutzten Docker-Host kein docker system prune -af.

Addon aktualisieren

Das Serverupdate aktualisiert die FreeCAD-Arbeitsplätze nicht. Führe auf jedem Rechner ein Addon-Manager-Update aus oder aktualisiere genau das vom jeweiligen FreeCAD-Profil geladene Git-Checkout. Siehe FreeCAD-Addon installieren.