{"id":15075230,"url":"https://github.com/lichuang/replited","last_synced_at":"2025-04-04T07:06:04.496Z","repository":{"id":257701660,"uuid":"818578002","full_name":"lichuang/replited","owner":"lichuang","description":"Replicate SQLite to every where(S3\\ftp\\webdav\\google drive\\dropbox,etc)","archived":false,"fork":false,"pushed_at":"2024-11-06T02:42:26.000Z","size":369,"stargazers_count":238,"open_issues_count":1,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T06:06:54.676Z","etag":null,"topics":["azure-storage","backup","database","ftp","gcs","replication","restore","rust","s3","sql","sqlite","sqlite3","storage"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lichuang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-22T08:21:26.000Z","updated_at":"2025-03-27T18:29:42.000Z","dependencies_parsed_at":"2024-10-27T09:32:25.286Z","dependency_job_id":"da92f6b6-d654-432a-88ce-03dc35759a6e","html_url":"https://github.com/lichuang/replited","commit_stats":null,"previous_names":["lichuang/replited"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichuang%2Freplited","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichuang%2Freplited/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichuang%2Freplited/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichuang%2Freplited/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lichuang","download_url":"https://codeload.github.com/lichuang/replited/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135143,"owners_count":20889420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-storage","backup","database","ftp","gcs","replication","restore","rust","s3","sql","sqlite","sqlite3","storage"],"created_at":"2024-09-25T03:49:36.036Z","updated_at":"2025-04-04T07:06:04.476Z","avatar_url":"https://github.com/lichuang.png","language":"Rust","readme":"# replited(Replicate SQLITE Daemon)\n\n[![GitHub stars](https://img.shields.io/github/stars/lichuang/replited?label=Stars\u0026logo=github)](https://github.com/lichuang/replited)\n[![GitHub forks](https://img.shields.io/github/forks/lichuang/replited?label=Forks\u0026logo=github)](https://github.com/lichuang/replited)\n\n\u003c!-- MarkdownTOC autolink=\"true\" --\u003e\n- [Introduction](#introduction)\n- [Why replited](#why-replited)\n- [Support Backend](#support-backend)\n- [Quick Start](#quick-start)\n- [Config](#config)\n- [Sub commands](#sub-commands)\n\t- [Replicate](#replicate)\n  - [Restore](#restore)\n  \u003c!-- /MarkdownTOC --\u003e\n\n## Introduction\n\nInspired by [Litestream](https://litestream.io/), with the power of [Rust](https://www.rust-lang.org/) and [OpenDAL](https://opendal.apache.org/), replited target to replicate sqlite to everywhere(file system,s3,ftp,google drive,dropbox,etc).\n\n## Why replited\n* Using sqlite's [WAL](https://sqlite.org/wal.html) mechanism, instead of backing up full data every time, do incremental backup of data to reduce the amount of synchronised data;\n* Support for multiple types of storage backends,such as s3,gcs,ftp,local file system,etc.\n\n## Support Backend\n\n| Type                       | Services                                                     |\n| -------------------------- | ------------------------------------------------------------ |\n| Standard Storage Protocols | ftp![CI](https://github.com/lichuang/replited/actions/workflows/ftp_integration_test.yml/badge.svg)                                    |\n| Object Storage Services    | [azblob] [gcs] \u003cbr\u003e [s3]![CI](https://github.com/lichuang/replited/actions/workflows/s3_integration_test.yml/badge.svg) |\n| File Storage Services      | fs![CI](https://github.com/lichuang/replited/actions/workflows/fs_integration_test.yml/badge.svg)                                                          |\n\n[azblob]: https://azure.microsoft.com/en-us/services/storage/blobs/\n[gcs]: https://cloud.google.com/storage\n[s3]: https://aws.amazon.com/s3/\n\n\n\n## Quick Start\n\nStart a daemon to replicate sqlite:\n\n```shell\nreplited --config {config file} replicate \n```\n\nRestore sqlite from backend:\n\n```shell\nreplited --config {config file} restore --db {db in config file} --output {output sqlite db file path}\n```\n\n## Config\n\nSee [config.md](./config.md)\n\n\n## Sub commands\n### Replicate\n`repicate` sub command will run a background process to replicate db to replicates in config periodically, example:\n```\nreplited  --config ./etc/sample.toml  replicate\n```\n\n### Restore\n`restore` sub command will restore db from replicates in config, example:\n```\nreplited  --config ./etc/sample.toml restore --db /Users/codedump/local/sqlite/test.db --output ./test.db\n```\n\ncommand options:\n* `db`: which db will be restore from config\n* `output`: which path will restored db saved\n\n## Stargazers over time\n[![Stargazers over time](https://starchart.cc/lichuang/replited.svg?variant=adaptive)](https://starchart.cc/lichuang/replited)\n\n​                    \n","funding_links":[],"categories":["Rust","backup and replicate"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flichuang%2Freplited","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flichuang%2Freplited","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flichuang%2Freplited/lists"}