Nextcloud is what I ended up using; you get file sync and contact/calendaring in one, and you can also use it to share files "externally" if need be, even flip on the chat module and use it to video-conference instead of zoom if you want.
I'm using sqlite as the backing database mostly because I'm a single user and don't put a ton of files into it. I also disabled every single module I didn't need. It was dog slow until I connected it to redis, which was a real game changer - near instant page loads and file sync. It is running on an ancient SATA SSD in a second-gen i5 laptop.