Anleitung für Deployment (Volume-Berechtigungen)
Information
Diese Anleitung richtet sich an IT‑Administratoren, die ein Update der agilen Komponente (pulse) auf das Release 44.5 durchführen.
Für das pulse-Release 44.5 müssen die Berechtigungen im Data‑Volume korrekt gesetzt sein, damit Datei‑Uploads und Logs zuverlässig funktionieren.
Details
Für folgende Verzeichnisse muss die Berechtigung “1777” gesetzt sein:
/app/data/app/data/mf-userfiles
Wenn das Volume neu angelegt wird, werden diese Berechtigungen automatisch korrekt gesetzt.
Bestehende Docker-Volumes behalten alte Berechtigungen (“755”), wodurch der Laufzeit-User keine Schreibrechte hat. Neu angelegte Volumes sind hiervon nicht betroffen, weil ihre Verzeichnisse von Anfang an mit den korrekten Berechtigungen erstellt werden.
Verwendete Platzhalter
Details
<COMPOSE_FILE>: Compose‑Datei der Umgebung (z. B.docker-compose.yml)<SERVICE_NAME>: Name des pulse‑Service<DATA_VOLUME>: Name des Data‑Volumes für/app/data<CONTAINER_NAME>: Name des laufenden pulse‑Containers
Vorab-Check: Ist das Data-Volume leer?
Information
Prüfen Sie zunächst, ob im Verzeichnis
/app/data/mf-userfilesbereits Dateien oder Unterverzeichnisse vorhanden sind.
docker exec <CONTAINER_NAME> sh -lc '
ls -la /app/data/mf-userfiles/
'
Details
Wenn nur
.und..angezeigt werden, ist das Verzeichnis leer.Werden weitere Einträge angezeigt, liegt ein bestehender Datenbestand vor.
In diesem Fall sollte das Vorgehen bei bestehendem Datenbestand angewendet werden.
Vorgehensweise bei leerem Data-Volume
Vorgehensweise
Agile Komponente (pulse) stoppen:
docker compose -f <COMPOSE_FILE> stop <SERVICE_NAME>
Container entfernen und Volumes neu anlegen:
docker compose -f <COMPOSE_FILE> rm -f <SERVICE_NAME>docker volume rm <DATA_VOLUME>docker compose -f <COMPOSE_FILE> up -d <SERVICE_NAME>
Hinweise:
Vor dem Löschen des Volumes prüfen, ob in /app/data noch benötigte Daten vorhanden sind.
Daten für Produktivsysteme müssen im Vorfeld gesichert sein.
Beim Löschen des Volumes werden alle Daten im Volume entfernt.
Im Container verifizieren:
docker exec <CONTAINER_NAME> sh -lc 'id && ls -ld /app/data /app/data/logs /app/data/mf-userfiles && stat -c "%a %U:%G %n" /app/data /app/data/mf-userfiles'
Ergebnis:
Alle drei Verzeichnisse besitzen Schreibrechte (“1777”).
Dieser Check ist besonders bei bestehenden Volumes wichtig, da dort häufig alte Berechtigungen bestehen bleiben.
Funktionstest:
Attachment-Upload in der agilen Komponente (pulse) testen.
In den Logs sicherstellen, dass keine EACCES-Meldungen mehr erscheinen.
Vorgehensweise bei bestehendem Datenbestand
Vorgehensweise
Wenn im pulse-Data-Volume Dateien liegen, sollten diese vor dem Neuaufbau gesichert und danach wieder eingespielt werden.
Agile Komponente (pulse) stoppen:
docker compose -f <COMPOSE_FILE> stop <SERVICE_NAME>
Daten aus bestehendem Volume sichern:
mkdir -p ./pulse-data-backup docker run --rm -v <DATA_VOLUME>:/data -v "$PWD/pulse-data-backup":/backup alpine sh -lc ' cp -a /data/. /backup/ '
Container entfernen und Volumes neu anlegen:
docker compose -f <COMPOSE_FILE> rm -f <SERVICE_NAME>docker volume rm <DATA_VOLUME>docker compose -f <COMPOSE_FILE> up -d <SERVICE_NAME>docker compose -f <COMPOSE_FILE> stop <SERVICE_NAME>
Gesicherte Daten zurückkopieren:
docker run --rm -v <DATA_VOLUME>:/data -v "$PWD/pulse-data-backup":/backup alpine sh -lc ' cp -a /backup/. /data/ '
Agile Komponente (pulse) starten und prüfen:
docker compose -f <COMPOSE_FILE> up -d <SERVICE_NAME> docker exec <CONTAINER_NAME> sh -lc ' ls -ld /app/data /app/data/mf-userfiles && stat -c "%a %U:%G %n" /app/data /app/data/mf-userfiles'
Ergebnis:
Dateien sind weiterhin vorhanden.
Die Verzeichnisse
/app/dataund/app/data/mf-userfilesbesitzen Schreibrechte (“1777”).