I have a personal one at home with few users but >1Tb in use, including wifey's rather hefty and my smaller photo collection which is sync'd from phones using Foldersync Pro on Android. I also have a work one that has ~30 users and about 1/2Tb and rising. I have also installed a system for a customer with >700 users for pushing lots of centrally managed .pdfs to tablets. Two of them are behind HA Proxy. All started off life as OwnCloud v8 and all are now NC v13.
I've never used apt, I always use source .tar.gz - it is just a web app. I keep a separate disc with data, html, tmp (for working etc source packages) and mount it to /srv/nextcloud. I then symlink /srv/nextcloud/html to /var/www/html/nextcloud to avoid surprises (where the hell is the bloody app!)
The config does need a bit of care but the docs are great. I do recommend that you add in redis etc and all the php caching etc. Also, get a Lets Encrypt cert on it.
Upgrades? I bit the bullet and tried out the auto upgrade button in the web interface on my largest install after doing a VM snapshot of course. I now always do it that way because in the past I generally end up re learning how to do it each time. You do need to get the file permissions correct for the web app to be able to update itself.
I have had problems and errors sometimes but the forums and docs have always given me a fix. Learn how to do a dump/restore of the database (you should ideally be using MariaDB and know a bit about it) and learn about the occ command eg:
# sudo -u www-data /var/www/nextcloud/occ status --output=json_pretty
The NextCloud desktop app works well on both Windows and Linux (I don't have any Mac experience) As I mentioned before, I use Foldersync Pro on Android for photos because you can do a one way sync, with deletes on the phone not being mirrored to the repository (phones have rather less storage than desktops or my servers).