I’ve had my Nextcloud exposed for a long while now without any incidents (that I know of). I know automatic updates are not generally recommended but if you want a lighter load, you could use LSIO’s docker container (I use the standard db in the sample config). I run mine that way with watchtower and can’t recall ever in recent times when an update broke Nextcloud. Other than that, nextcloud has a brute-force plugin and you could consider overall hardening the entry points of the machine hosting Nextcloud (e.g ssh).
Most modern devices should support x265 playback which has the compression sizes you are looking for.
In addition to setting the cap to file sizes for media, you can also blacklist tags like REMUX etc.
This is an example of a custom format for hevc/x265 files that are no larger than 6Gigs. You just need to create a new custom quality profile and give below custom format a positive/higher score.
{
"name": "Minima",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "No mo than 6 Gigs",
"implementation": "SizeSpecification",
"negate": false,
"required": true,
"fields": {
"min": 0,
"max": 6
}
},
{
"name": "1080p",
"implementation": "ResolutionSpecification",
"negate": false,
"required": true,
"fields": {
"value": 1080
}
},
{
"name": "eng",
"implementation": "LanguageSpecification",
"negate": false,
"required": false,
"fields": {
"value": 1
}
},
{
"name": "Preferred x265",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "[xh][ ._-]?265|\\\\bHEVC(\\\\b|\\\\d)"
}
}
]
}
I use whatever this guy recommends to use.
You can control that with this env variable MICROBIN_NO_FILE_UPLOAD
Checkout the docs for other options.
Last time I checked this, out of all the options available Serge was the simplest to host and use. Though you need a beefy computer to get fast and/or good responses.