{"id":36631164,"url":"https://github.com/talss89/sprout","last_synced_at":"2026-01-12T09:37:18.165Z","repository":{"id":221064983,"uuid":"751972515","full_name":"talss89/sprout","owner":"talss89","description":"Fast, deduplicated content and database seeding for WordPress","archived":false,"fork":false,"pushed_at":"2024-02-28T20:18:51.000Z","size":382,"stargazers_count":23,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-14T08:03:17.003Z","etag":null,"topics":["content","opendal","rclone","restic","rust","rustic-rs","s3","seeding","wordpress"],"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/talss89.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["talss89"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"polar":null,"custom":null}},"created_at":"2024-02-02T18:24:18.000Z","updated_at":"2025-10-31T19:10:21.000Z","dependencies_parsed_at":"2024-02-28T21:42:10.627Z","dependency_job_id":null,"html_url":"https://github.com/talss89/sprout","commit_stats":null,"previous_names":["talss89/sprout"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/talss89/sprout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talss89%2Fsprout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talss89%2Fsprout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talss89%2Fsprout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talss89%2Fsprout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/talss89","download_url":"https://codeload.github.com/talss89/sprout/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talss89%2Fsprout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["content","opendal","rclone","restic","rust","rustic-rs","s3","seeding","wordpress"],"created_at":"2026-01-12T09:37:17.345Z","updated_at":"2026-01-12T09:37:18.150Z","avatar_url":"https://github.com/talss89.png","language":"Rust","funding_links":["https://github.com/sponsors/talss89"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Sprout \n\n**Fast, deduplicated content and database seeding for WordPress.**\n\n**[Documentation](https://talss89.github.io/sprout/) | [Install](https://talss89.github.io/sprout/install/) | [Releases](https://github.com/talss89/sprout/releases)**\n\n![GitHub Release](https://img.shields.io/github/v/release/talss89/sprout?sort=semver\u0026display_name=release\u0026style=flat-square\u0026label=Latest)\n![Documentation Build](https://img.shields.io/github/actions/workflow/status/talss89/sprout/docs.yaml?style=flat-square\u0026label=Docs)\n![Test Status](https://img.shields.io/github/actions/workflow/status/talss89/sprout/test.yaml?style=flat-square\u0026branch=main\u0026label=Test%20suite)\n\n\u003c/div\u003e\n\n---\n\n- Store your uploads and database in a secure, central location and easily let your team get up and running with the correct version of content **with a one-liner - `sprout seed`**.\n  \n- Sprout lets you commit a small `sprout.yaml` file as part of your WordPress project. It identifies the **exact version of database and wp-uploads content** required in order to seed a new environment.\n\n- You can store your database and content in a Sprout repo - this can be a local path, SFTP, S3 bucket, or any number of supported backends via OpenDAL or rclone. **Have complete control over your data.**\n\n- Your data is **encrypted and deduplicated**, and stored in the proven and trusted Restic format. So much more efficient than chucking ZIPs around.\n\n- **Sprout is FAST**. Written in Rust, and provided as a single static binary, it will run anywhere.\n\n- Sprout will **locally stash your current database and wp-uploads during destructive operations** - a nice safety net to have!\n\n---\n\n:warning: **Although I think you'll love it, Sprout is pre-release. You should always back up your WordPress content and database before using Sprout.**\n\n---\n\n[![asciicast](https://asciinema.org/a/641208.svg)](https://asciinema.org/a/641208)\n\n## Installation\n\nBinaries are avalailable for Mac and Linux on both x86_64 and arm64. You can get them via the [releases page](https://github.com/talss89/sprout/releases).\n\n### Mac\n\n```bash\n# x86_64 / Intel Macs\ncurl -L \"https://github.com/talss89/sprout/releases/latest/download/sprout-macos-x86_64.tar.gz\" | tar zxf - \u0026\u0026 sudo install -c -m 0755 sprout /usr/local/bin\n\n# aarch64 / M1 Macs\ncurl -L \"https://github.com/talss89/sprout/releases/latest/download/sprout-macos-aarch64.tar.gz\" | tar zxf - \u0026\u0026 sudo install -c -m 0755 sprout /usr/local/bin\n```\n\n### Linux\n\n```bash\n# x86_64\ncurl -L \"https://github.com/talss89/sprout/releases/latest/download/sprout-linux-x86_64.tar.gz\" | tar zxf - \u0026\u0026 sudo install -c -m 0755 sprout /usr/local/bin\n\n# aarch64 / amd64\ncurl -L \"https://github.com/talss89/sprout/releases/latest/download/sprout-linux-aarch64.tar.gz\" | tar zxf - \u0026\u0026 sudo install -c -m 0755 sprout /usr/local/bin\n```\n\nWindows support is untested, and will require compilation with `cargo`.\n\n### What's going on behind the scenes?\n\nSprout stores your data in the Restic Repo Format, and uses [rustic-rs/rustic_core](https://github.com/rustic-rs/rustic_core) internally. We dump the database via WP CLI, and replace the site URL with a placeholder value before storing it alongside an encrypted and de-duplicated archive of your wp-uploads folder.\n\nSprout rewrites the Restic hostname and path properties of each snapshot so your team can `snap` and `seed` seamlessly. Content branches are implemented as a virtual directory inside a snapshot.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalss89%2Fsprout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalss89%2Fsprout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalss89%2Fsprout/lists"}