Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add appdata_path option to store appdata locally outside primary storage. #9247

Closed
wants to merge 1 commit into from

Conversation

panovotn
Copy link
Contributor

@panovotn panovotn commented Apr 19, 2018

Problem: Appdata are stored in primary storage. That means that (mostly even partial) unavailability of object storage (ex. S3) as primary storage causes Nextcloud web client to be unavailable as well.

Solution: Local directory is mounted to /appdata.local when 'appdata_path' is set in the configuration file.

Signed-off-by: Patrik Novotný patrik.novotny@gmx.com

Signed-off-by: Patrik Novotný <patrik.novotny@gmx.com>
@MorrisJobke
Copy link
Member

cc @icewind1991 @rullzer @schiessle

I would say that this makes it hard to get up and running in a clustered environment. But I get the point that the CSS would be good to be served from the server in case of problems.

The case is similar to #5789

@MorrisJobke
Copy link
Member

cc @juliushaertl

$name = 'appdata_' . $instanceId;
$appdataPath = $this->config->getValue('appdata_path', '');
if ($appdataPath !== '') {
$name = '/appdata.local/appdata_' . $instanceId;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no need to have the separate /appdata.local/ just having the mount provider mount the appdata_path into /appdata_$instanceId should be sufficient

@MorrisJobke MorrisJobke added the 1. to develop Accepted and waiting to be taken care of label May 7, 2018
@rullzer
Copy link
Member

rullzer commented May 14, 2018

I get the point. But this won't scale to well.

Appdat also holds the previews.
And soon it might also hold the versions.

So you'd need significant space on your device.
Also the cleanup of stuff then won't help if your main storage runs out of space etc.

@icewind1991
Copy link
Member

Might be worth it to instead have a generalized system to have different appdata paths locally.

Things like previews and bundled css/js can be useful to have separate from the main data still

@MorrisJobke MorrisJobke added the stale Ticket or PR with no recent activity label Jun 19, 2018
@faberto
Copy link

faberto commented Sep 28, 2018

I get the point. But this won't scale to well.

Appdat also holds the previews.
And soon it might also hold the versions.

So you'd need significant space on your device.
Also the cleanup of stuff then won't help if your main storage runs out of space etc.

Would be nice to have the option to adjust the path to the preview folder in the settings file. Would make a lot of sense with external drives as having the previews on an internal drive will speed up the response time a lot. e.g. my current setup is an SSD as main disk and externals as Storage disks. Loading a lot of small files from an HDD takes long as they are most of the time not sequentially placed on the disk.

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Sep 28, 2018
@ChristophWurst
Copy link
Member

Closing as it's unlikely that we'd integrate this change. Thanks for your effort ✌️

@ChristophWurst ChristophWurst removed the 1. to develop Accepted and waiting to be taken care of label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants