How to sync offsite servers?

I did a quick search but the mirror functions appear to be repository only.
Is there a better guide or option for me to keep 2 off site servers in sync with changes?
We have a location in China and location in the USA that we want to run 2 separate local instances and have them sync behind the scenes. We tried using Github previously but accessibility in China is iffy. We have solid access to our server in the US, but our partners are asking for a local server instead with a back-end sync so each individual local programmer isn’t waiting during uploads/downloads.

Is this possible?
Thank you in advance.

Running two Gitea instances simultaneously on same data is not a good idea at the moment, here is the feature request where issues/progress are pointed out: [Proposal][Discuss] Gitea Cluster · Issue #13791 · go-gitea/gitea · GitHub.

Since location in US and location in China probably have different working hours, some solution could be put together where the filesystems and databases sync between China and US location. During US working hours, Gitea process runs on US server and all changes sync to China in filesystem and database. Then, US Gitea process shuts down and then Gitea process starts on China server, and data synced back to US server.

The synchronization would be easy for database (just use replication). I have not used many networked filesystems, but I imagine there is a reliable way to do similar for filesystems.

Also, since this sounds like a company, you can reach out to Gitea Ltd for paid support to see if they can assist you in this. Email (@techknowlogick) for more information.