owncloud / owncloud/ocis

[Feature Request] Bandwidth Quota Per User (Download/Upload)

Open
#6,502 6 comments 0 reactions 0 assignees View on GitHub
Category:Enhancement Status:Proposal
Dominant language
Go
Stars
2.1k
Forks
274
Avg merge
2d 1h
Merged PRs (30d)
103

Description

# Feature Request: Bandwidth Quota Per User

You must understand the difference between Network Speed vs. Bandwidth: https://obkio.com/blog/network-speed-bandwidth-throughput/#understand-the-difference-network-speed-vs-bandwidth-vs-throughput

## Is your feature request related to a problem? Please describe.
A possible failure state of an OwnCloud Infinite Scale instance is exceeding the amount of Network Bandwidth provided by an ISP or Cloud service provider. For example, a Cloud service provider such as Digital Ocean may let a single virtual machine transfer 1TB over a month (download and upload bandwidth) at 10 Gbps (Network Speed). So if a user exceeds this amount, OwnCloud Infinite Scale could experience errors due to the server it's hosted on.

Configuring a reverse proxy at the server level does not prevent a single user from using all the bandwidth (on purpose or by accident). So it would be helpful to have a bandwidth quota per user that works in a similar manner to the [NextCloud Storage Quota](https://docs.nextcloud.com/server/latest/user_manual/en/files/quota.html). This solution would prevent a single user from using all of the bandwidth of the server that the OwnCloud Infinite Scale instance is hosted on.

## Describe the solution you'd like
Add a setting "Bandwidth Quota" that lets the administrator configure a bandwidth quota (both, download, upload) per user. Enabling this setting tracks the bandwidth usage of the user's uploads and downloads to prevent them from exceeding the specified bandwidth limit. When a user exceeds the bandwidth limit, notify them so an administrator can be contacted to review what happened.

## Describe alternatives you've considered
Limiting the Network Speed (per user) is useful for download/upload consistency, but does not prevent the user from exceeding bandwidth unless you set the speed so low that the file size of downloaded/uploaded files will be limited over a specific time period.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.