Hey couchbase mobile community,
I'm happy to announce a new experimental tool available for driving a replication between Sync Gateway instances:
It was created because currently there is no good way to drive replications between Sync Gateway instances from a server machine, since Sync Gateway can only act as a passive participant in a replication.
While it's true that it would be possible to could run Couchbase Lite Java on a server, and setup push and pull replications to shuttle data between the Sync Gateway instances, it would be slower, more complex, and there would be higher storage requirements. (OTOH sg-replicate simply shuttles data back and forth, and doesn't have any persistent storage or any persistent state whatsoever). To reduce the storage requirements, Couchbase Lite could be re-worked to support remote-remote replications, like CouchDB does, however that would add a lot of complexity to the code. Plus, it would put the Couchbase Lite Java/Android code out of sync with the iOS reference implementation.
sg-replicate is still in the alpha / experimental stage, but it's undergone enough unit and field testing to release to the community for feedback.
It's written in Go and available as open source under the Apache 2 License.
If you run into any problems or have any questions, feel free to post to this group or file a github issue.
Quickstart
* $ cp config.json.example config.json
* Customize config.json according to your needs.
* $ go build && ./cli