fix(restore): nextcloud chown 33:33 for www-data after borg extract

Erstlauf 2026-06-03 scheiterte mit dauerhaft 503. config.php-Patching
(Redis-Host + trusted_domains) war korrekt, aber Nextcloud konnte die
restaurierten Dateien nicht lesen/schreiben: "chmod(): Operation not
permitted at OC_Util.php#486".

Ursache: Borg-Extract ueber den borg-ui Container legt Dateien mit dem
borg-ui-User (sshd o.ae.) an. Nextcloud im Container laeuft als
www-data (UID 33). Mit no-new-privileges:true scheitert jeder chmod/
chown-Versuch im Container.

Fix: chown -R 33:33 auf html/ und data/ nach dem Extract, bevor der
Nextcloud-Container startet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 10:44:12 +02:00
parent 6f0e6f0d5a
commit 2913e1005f
+6 -1
View File
@@ -125,7 +125,12 @@ mv "$EXTRACT_DIR/local/borg-dumps/latest/nextcloud.dump" "$RESTORE_ROOT/dumps/la
# Nextcloud braucht einen beschreibbaren data-Pfad, auch wenn er leer ist.
# Im Restore-Lab ist das /mnt/user/backups/restore-lab/nextcloud/data.
mkdir -p "$RESTORE_ROOT/data"
chmod -R a+rwX "$RESTORE_ROOT/data"
# Nextcloud laeuft im Container als www-data (UID 33, GID 33).
# Die aus Borg extrahierten Dateien gehoeren typischerweise dem
# borg-ui-Container-User (sshd o. ae.). Ohne chown scheitert Nextcloud
# beim Start mit "chmod(): Operation not permitted" und gibt dauerhaft 503.
chown -R 33:33 "$RESTORE_ROOT/html" "$RESTORE_ROOT/data"
# Falls config.php einen anderen dbuser als das Test-Compose hat, patchen
# wir die DB-Zugangsdaten in der restaurierten config.php fuer den Test.