immich
immich copied to clipboard
[Feature]: Limit the use of storage space per account
Feature detail
I just found this project looking for a solution to share a storage space with a friend. The thing is that I would like to limit the amount of storage we can use to divide it fairly.
So I propose to create two types of users, a group that is the “users” group and where right now appears the server space, it shows its used and remaining storage. And another group that is the “administrators” group that shows the server space and also their used and remaining storage.
I think this can help many people who want to share a storage space with several people.
Platform
Server
This feels like an enterprise feature for me. I get your point but for a self-hosted solution shared with friends&family you have a list of users and their used space as an administrator.
If you feel someone is abusing it, you should be able to talk to them about it, rather than enforcing a limit on everybody.
my 2 cent
Now that you mention it, I can see the enterprise use, but I said it because in my case I would like to use it with my family, as well as with my friend (we have a fairly large amount of storage). The thing is that we don't want to be on top of it all the time and my family is not very good with technology either, so it would be impossible to instruct them not to go over their storage.
I don't think it would be too complicated to force a limit, as it is calculated in the admin panel.
Sorry I haven't already made a contribution, but I code in Python and Typescript is a bit complicated for me. If I succeed, I'll make a pull request.
This might be easier to implement/incorporate after the file storage layer is abstracted. (#1011)
It's also worth noting that other layers (os, filesystem, etc.) have some support for these types of features independently of immich.
I would love this feature, too. Personally I wouldn't class this as enterprise feature. People self hosting services like Immich have very different storage capacities. As soon as others are meant to use those services (wife, friends, kids, ...) storage can become the bottleneck. I like to limit each users storage capacity per account, because the "only" problem users can have is that their personal storage limit is running full, but the server itself has some storage left. If some don't have too much storage to not think about it, they can leave the users limit on unlimited.
EDIT I discovered this project few days ago and currently testing it (web and android). So far it's an awesome project/app.
We do have the file size in bytes for all the uploaded files. Maybe that would be sufficient for this feature? It would not include generated files (thumbnails, transcoded videos, etc.), so as long as you took that into consideration while allocating space you would be fine. If we do use the data in the database it should hopefully have a minimal perf impact.