14.4k stars · Apache-2.0 · v0.5.17 (2026-08-31), read from /releases/latest; the release page states nine commits have landed since · Track this in Scout
Streams a SQLite database to S3-compatible object storage as it changes, so it can be restored to a chosen moment after a failure.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A small program that sits beside your application and streams SQLite's write-ahead log to object storage such as Amazon S3, Backblaze B2 or any S3-compatible service. SQLite is a database that lives in one ordinary file with no server of its own. Restoring is one command, and you can restore the file as it was at a chosen moment rather than only as it is now.What it is good for. Anyone running a small service on SQLite, which is far more people than admit it. PocketBase from Edition 21 is SQLite. So is a great deal of small Go and Python software. The problem it removes is the honest answer to "what happens if this disk dies", which for most one-server projects is currently "I lose today". This does not replace pgBackRest from Edition 18 — that is for PostgreSQL and this is not.
- Your application does not change at all. Litestream runs beside it and reads the same file.
- You can restore to a point in time, so a mistake made at 14:30 can be undone by restoring to 14:29.
- Apache-2.0 licence, one binary, and it costs a few cents a month in storage for a small database.
- SQLite only. If your data is in PostgreSQL or MySQL this does nothing for you.
- The project still calls itself beta, and version 0.5 changed how replication works, so read the notes before upgrading from 0.3.
- A backup you have never restored is not a backup. Do the restore once now, while nothing is wrong.
- superfly/litefs
By the same author, and it copies a SQLite database live between several machines instead of into storage, which is harder to run.
Track this in Scout - rqlite/rqlite
A distributed database built on SQLite with copies on several machines, and it replaces your database rather than backing up the one you have.
Track this in Scout
# Download the .deb or the .tar.gz for your machine from # https://github.com/benbjohnson/litestream/releases/latest # then, for Debian or Ubuntu: sudo dpkg -i litestream-*.deb # /etc/litestream.yml — one database, one destination: # dbs: # - path: /var/lib/myapp/data.db # replicas: # - url: s3://my-bucket/myapp sudo systemctl enable --now litestream # Restoring, on a new machine: litestream restore -o /var/lib/myapp/data.db s3://my-bucket/myapp
