Limiting storage per team

Hi all

I’m running a single mattermost install for 2 charities- they’ve each got a separate team. So far it’s been working great but I need a way to set a separate/different storage quota for each team. Is there any way I could do this? If not in mattermost, then maybe at the server level?

Thanks in advance!

Hi @menathor,

We have Data Retention option on enterprise edition: https://docs.mattermost.com/administration/data-retention.html.

We also have a file storage option: https://docs.mattermost.com/administration/config-settings.html#storage.

Hi @menathor,

At this time Mattermost doesn’t support per-team storage limits, and doing it on the server would be difficult. When a file is uploaded to a channel it’s put in a directory named <Date in YYYY-MM-DD format>/<team name>/channels/<channel id>/users/<user id>/It may be possible to monitor those to see how much they’re using, but since they’re created on the fly as needed there’s not a way to, for example, mount them on a partition.

Please feel free to add it and up-vote it on our feature idea forum. The product team relies heavily on the votes in this forum to determine the future of Mattermost.

Thanks guys!

@amy.blais I’m running mattermost for these organisations for free (they’re non-profit charities). So unfortunately enterprise isn’t an option

@paulrothrock Thanks Paul, will add that as a request. Would be great to be able to limit storage by team in situations like this. Are there any other options for multi-tenancy I could consider? Otherwise I guess I could set up a second instance and migrate one of the teams over. But I’m hosting this for them as a favor so only having to maintain one install would be better :slight_smile:

@menathor Mattermost doesn’t yet support multi-tenancy, so you’ll probably have to host individual instances for each team, each with their own file storage directory.

If you’ve got a powerful enough server you could run these on the same one, changing the port it runs on in the config.json and using Nginx as a reverse-proxy. Then they could share the same database server, though not the same database.