I went for the simplest option
- Installed a distro (in this case Debian)
- Installed tailscale on the server, logged in
- Installed tailscale on my other devices, logged in
- Used sshfs to mount the desired directory on the server to my client
- SSH in once a week or so to run updates
Found it very simple. Avoided the tedious setup of samba and samba had weird reliability issues for me when copying large files. Took a bit to learn how ssh works, but very much so worth it.