Syncle keeps databases in sync. You define a bridge: a source, one or more destinations, and a trigger that decides when rows move. When a row changes in the source, Syncle writes it to every destination on that bridge.
Source and destination can each be PostgreSQL, MySQL, SQLite, MongoDB or Redis, in any combination. An HTTP endpoint can also be a destination. One bridge can write to several destinations at once. Bridges can chain (A to B to C) or feed each other (A to B and back), and a change crosses once rather than looping, because Syncle recognizes its own writes when they return.
Most change-data-capture tools stop at the stream. Debezium publishes changes to Kafka, and you still run the broker and write the consumer that applies them to the destination. Syncle applies them.
Three triggers decide when a bridge fires:
Replay - one pass over all or selected rows, then done. For an initial backfill or a migration.
Watch - poll the source on a cursor column: an auto-increment id, an updated_at column, or a primary-key diff. Works on every engine.
CDC - read the database's own change log. Postgres logical replication, MySQL binlog, MongoDB change streams, Redis keyspace notifications. Real time, no polling. One bridge can copy what a table already holds and then follow it, taking its position in the log before the copy starts so nothing in between is lost.
Writes are idempotent upserts keyed on columns you choose, so replays and retries do not duplicate rows. Inserts, updates and deletes all propagate. Destination tables that do not exist are created from the source's shape, and if a type cannot be held faithfully in the target, the preview names that column before the run starts. Exact decimals and 64-bit integers stay exact, bytes stay bytes, and timestamps do not shift with the server's time zone.
Other features: a visual bridge builder with a live preview of what will be written, column mapping and renaming, row filters, transforms, column masking (including a salted SHA-256 that still works as a key), SSH tunnels to remote databases, and TLS.
MIT licensed. Self-hosted via Docker or Kubernetes. No cloud tier and no account to create.
No comments or reviews, maybe you want to be first?