nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.21k stars 4.04k forks source link

Remove warning about disk space needed for uploads to S3 #40539

Open brainchild0 opened 1 year ago

brainchild0 commented 1 year ago

I am running Nextcloud 27.1.0, using an S3 bucket for primary storage.

As follows is one of the messages given under Security & setup warnings:

This instance uses an S3 based object store as primary storage. The uploaded files are stored temporarily on the server and thus it is recommended to have 50 GB of free space available in the temp directory of PHP. Check the logs for full details about the path and the available space. To improve this please change the temporary directory in the php.ini or make more space available in that path.

I have monitored the size and contents of directories for temporary files, as well as the application data directory, and the overall system disk usage, during uploads of large files. I have found no evidence of uploaded files being stored as temporary files.

Similarly, #27034 suggests that the message is obsolete (even though #19414 remains open).

If the message is obsolete, please remove it.

Otherwise, please clarify the current behavior.

joshtrichards commented 1 year ago

It depends on client support. The messaging can probably be adjusted "soon" so that it clarifies that it impacts some clients (i.e. older client versions and others like third-party WebDAV clients) that don't implement v2 chunking API.

It wasn't until a few weeks ago it was fully implemented across Desktop (nextcloud/desktop#5554, Android (nextcloud/android-library#1173), iOS (Nextcloud/ios#2541), and Files/Web (nextcloud-libraries/nextcloud-upload#925).

joshtrichards commented 1 year ago

Further clarification:

It also currently still impacts public/anonymous uploads AFAIK.

brainchild0 commented 1 year ago

Will third-party WebDAV clients always require temporary files?

Is it possible to create logic that chunks a file for multiple write operations to S3 within the same WebDAV request?