I had a problem.
I needed a reliable, all-purpose "cloud" solution for my data. Docs, contacts, calendar, the like. I wasn't interested in the atrocious telemetry practices of Google or Microsoft. iCloud was effectively locked to the Applesphere, and had confusing file handling abstractions which were practically incompatible with the command line. Dropbox offered no contacts or calendar sync.
Thank goodness for Nextcloud!
Nextcloud is an open-source, enterprise-grade solution which satisfied these exact needs.
It ships barebones, with only a file management interface and WebDAV server, but under the hood, Nextcloud is literally like a CMS for document management, with all the benefits one might expect thereof. Much like Wordpress or Drupal, it's a PHP app storing data in a MySQL-compatible database. It's designed to be extensible, with much of its' core functionality (CalDAV/CardDAV sync, 2fa, AD/LDAP integration, etc) provided through the Applications API.
It can even be installed in a Snap, pun intended. I'll make a tutorial on this soon, since that's the best option for most individual/home users, with automatic updates and no database configuration to mess with. Just know: It's absurdly easy, with a 5-minute setup process on any snapd enabled Linux box.
Give it a go!