2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-04-23 19:24:48 -07:00
2026-08-29 13:46:58 -07:00
2026-09-08 23:54:31 -07:00
2026-09-17 13:23:54 -07:00
2026-08-29 13:46:58 -07:00
2026-08-20 20:13:24 -07:00
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00
2026-06-10 14:13:20 -07:00

replicate

Hanzo Replicate

Hanzo Replicate is a standalone disaster recovery tool for SQLite. It runs as a background process and safely replicates changes incrementally to another file or S3. Replicate only communicates with SQLite through the SQLite API so it will not corrupt your database.

Module: github.com/hanzoai/replicate

Docker

ghcr.io/hanzoai/replicate:latest

Features

  • WAL streaming to S3 (continuous incremental replication)
  • End-to-end encryption via luxfi/age v1.4.0 (X25519, PQ upgrade path via X-Wing/ML-KEM-768)
  • Compatible with hanzoai/s3 (Apache-2.0, SeaweedFS-derived) and any S3-compatible target
  • Init container restore + sidecar replication pattern for K8s

Encryption

Replicated data is encrypted before leaving the process using luxfi/age. Configure encryption in replicate.yml:

dbs:
  - path: /data/db.sqlite
    replicas:
      - type: s3
        bucket: my-bucket
        path: service/pod-0
        endpoint: s3.local:9000
        age-identities: /secrets/age-identity.txt
        age-recipients: /secrets/age-recipients.txt

Files on S3 are stored as .zap.age (age-encrypted ZAP binary format).

Usage

replicate replicate [arguments]
replicate restore [arguments] DB_PATH
replicate version

License

See LICENSE.

S
Description
Streaming replication for SQLite.
Readme Apache-2.0
60 MiB
Languages
Go 68%
C 25.1%
Shell 6.5%
Python 0.1%