I'm working on a music project with a friend. I want to be able to share the files with him so that he can work on the project himself. We also want that any changes either of us make on our machines get synced automatically to the other, and also possibly a 3rd/4th destination for backup.
I would like to avoid using Dropbox or other cloud storage services if possible. This is enough data being exchanged that the cost will start to add up. However, if no straightforward self-hosted solution is available, I will likely concede and just pay for a solution. I'd be happy to hear recommendations for this route.
At the moment all the files are on my machines (1x desktop, 1x laptop, 1x linux server) all synced on my local network using syncthing.
My friend is a little bit tech savvy, but he won't be interested in using anything other than using a GUI which is well designed and robust. He won't be able to use CLI or want to mess with editing config files. He's on Windows 11. Also note that I really want to do the same in Windows environment, so we would both be using the same solution to sync in Windows.
Final requirement is that the solution must only expose the files on the path I specified, I am not interested for example in SFTP that exposes my entire linux server.
What are my options for a self-hosted solution? I am able to open ports and route services into my linux server at home. You can assume I'm expert level at running services on a linux server.
After minimal setup, it just works(tm).
You have a normal directory in your filesystem, that is synced to the other peers (which you set up in the "minimal setup").
I have been using it for years, and it works well. It has no problems crossing os'es (i.e. windows -> linux, linux -> mac)
For windows I usually recommend https://github.com/canton7/SyncTrayzor, but vanilla syncthing works fine too (but don't try to mix them!)
You can specify the exact directory via ChrootDirectory.