{"id":22373837,"url":"https://github.com/hahnavi/libsql-syncd","last_synced_at":"2026-05-01T17:33:47.922Z","repository":{"id":241830762,"uuid":"807748957","full_name":"hahnavi/libsql-syncd","owner":"hahnavi","description":"Sync libSQL embedded replica using message-triggered updates.","archived":false,"fork":false,"pushed_at":"2024-05-30T08:02:57.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T15:46:29.850Z","etag":null,"topics":["libsql","sqlite","turso"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hahnavi.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-05-29T17:38:38.000Z","updated_at":"2024-12-30T22:29:47.000Z","dependencies_parsed_at":"2024-12-04T21:15:01.215Z","dependency_job_id":"7e550be7-b952-45e7-9154-7cd1c531edc7","html_url":"https://github.com/hahnavi/libsql-syncd","commit_stats":null,"previous_names":["hahnavi/libsql-syncd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hahnavi/libsql-syncd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hahnavi%2Flibsql-syncd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hahnavi%2Flibsql-syncd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hahnavi%2Flibsql-syncd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hahnavi%2Flibsql-syncd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hahnavi","download_url":"https://codeload.github.com/hahnavi/libsql-syncd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hahnavi%2Flibsql-syncd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32507087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["libsql","sqlite","turso"],"created_at":"2024-12-04T21:14:56.606Z","updated_at":"2026-05-01T17:33:47.881Z","avatar_url":"https://github.com/hahnavi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# libsql-syncd\n\n**libsql-syncd** is a tool that synchronizes your libSQL embedded replica with a primary database using Redis Pub/Sub to trigger synchronization. This keeps your embedded replica up-to-date efficiently and provides an easy way to maintain synchronization without the need for constant polling.\n\n## Getting Started\n\nTo run **libsql-syncd**, follow these steps:\n\n1. Build the Project:\n\n    ```sh\n    cargo build --release\n    ```\n\n1. Set Environment Variables:\n\n    If you prefer, you can set environment variables manually or use `.env` file.\n    - Copy the `.env.example` file to a new file named `.env`.\n    - Edit the `.env` file and replace placeholders with your actual values.\n      - `LIBSQL_SYNC_URL`: URL of the primary.\n      - `LIBSQL_AUTH_TOKEN`: Authentication token.\n      - `LIBSQL_DB_PATH`: Location of the embedded replica file.\n      - `REDIS_URL`: URL of the Redis server.\n      - `REDIS_CHANNEL`: Channel name of the Redis Pub/Sub.\n      - `HOST_ID`: ID of the host. If the value matches the message from Redis Pub/Sub, sync will be skipped.\n  \n1. Run the App:\n\n    - After building the project, navigate to the `target/release` directory.\n    - Run the generated binary file:\n\n        ```sh\n        ./libsql-syncd\n        ```\n\n## Trigger Synchronization\n\nTo trigger synchronization, send a message to the Redis Pub/Sub channel specified in the environment variable (`REDIS_CHANNEL`). The payload is the host ID that triggers the synchronization. **libsql-syncd** will skip the sync if the payload matches the `HOST_ID` from the environment variable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhahnavi%2Flibsql-syncd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhahnavi%2Flibsql-syncd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhahnavi%2Flibsql-syncd/lists"}