Asemetric syncing local repo to remote storage, then relaying that remote copy to other remote storage

I’ve read several forum posts about scenarios semi covering this but not exactly the same thing.

I have personal computers at home which once an hour run Kopia locally, the backup repo being my home file server via SFTP. My internet upload cap is at 20-60mbit/s.On two other sides of the internet I have two separate machines with lots of storage, which both have gigabit connections to the internet.

My use case is that after I go to bed, some operation to get some version of the updated backed up repos over to only ONE of the internet machines. That first internet machine can then act as a relay and update the copy on the second internet machine. That way I don’t double clog my home internet’s upload speed.

To be clear I have zero interest in having Kopia on any of my local personal machines ever talk to the copy of the repo in either of the internet servers, unless there is a catestrophic falure. At that point I’m assuming I can just install Kopia on a new computer, pop open the config, and point Kopia to the copy of my repo on one of the machines.

I feel like Syncthing might be my answer to do that efficiently, that or run rclone on a scehedule. Is there any reason as to why this might not work? Recommendations on what to do differently?

There are many ways to skin a cat… this can be one of them. In the end the repo on your internal Kopia server is a structure of folders and files, which can easily be synchronized elsewhere. Would be different if the local repo was on a S3 bucket. However, I tend to rely on the provided tools which come with the solution, if there are any - and Kopia has actually the repo sync-to command exactly for that purpose…

Thanks for the reply!

However, I tend to rely on the provided tools which come with the solution, if there are any - and Kopia has actually the repo sync-to command exactly for that purpose…

So with my use case, I only have Kopia on the machines getting backuped. I don’t want to share any sort of passwords/keys to any of the other machines. I also want to upload the changes for each snap shot only once out of my home. With my understanding of how Kopia works with who’s got what keys and where the sync-to command can be run from, I believe I would need to run Kopia on one of my two remote machines, in order for that Kopia instance to then be able to sync over to the second remote machine.

Am I mistaken on how this works?

You stated, that you’d use SFTP as your repo target. That would mean, you wouldn’t need a Kopia server at all. You could do that, but that will have some consequences regarding the management of the repo on the SFTP server. Please have a look at the repo maintenance in that case, especially, if you’re planning on all clients using the same repo. In that case, every client would have to use the same access key and could easily access other client’s data. If you don’t want that, you will need a Kopia server on your backup host and create repo users for your clients.

Even then you could get away without a kopia server on your remote hosts, if the repo is filesystem based.