From 2913e1005f3f2850e4027194884b52065a75597b Mon Sep 17 00:00:00 2001 From: Micha Date: Wed, 3 Jun 2026 10:44:12 +0200 Subject: [PATCH] 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 --- ops/restore-tests/nextcloud-restore-test.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ops/restore-tests/nextcloud-restore-test.sh b/ops/restore-tests/nextcloud-restore-test.sh index 76a9a93..af3deb1 100644 --- a/ops/restore-tests/nextcloud-restore-test.sh +++ b/ops/restore-tests/nextcloud-restore-test.sh @@ -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.