Giter Club home page Giter Club logo

sprout's Introduction

Sprout

Fast, deduplicated content and database seeding for WordPress.

Documentation | Install | Releases

GitHub Release Documentation Build Test Status


  • 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.

  • 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.

  • 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.

  • Your data is encrypted and deduplicated, and stored in the proven and trusted Restic format. So much more efficient than chucking ZIPs around.

  • Sprout is FAST. Written in Rust, and provided as a single static binary, it will run anywhere.

  • Sprout will locally stash your current database and wp-uploads during destructive operations - a nice safety net to have!


โš ๏ธ Although I think you'll love it, Sprout is pre-release. You should always back up your WordPress content and database before using Sprout.


asciicast

Installation

Binaries are avalailable for Mac and Linux on both x86_64 and arm64. You can get them via the releases page.

Mac

# x86_64 / Intel Macs
curl -L "https://github.com/talss89/sprout/releases/latest/download/sprout-macos-x86_64.tar.gz" | tar zxf - && sudo install -c -m 0755 sprout /usr/local/bin

# aarch64 / M1 Macs
curl -L "https://github.com/talss89/sprout/releases/latest/download/sprout-macos-aarch64.tar.gz" | tar zxf - && sudo install -c -m 0755 sprout /usr/local/bin

Linux

# x86_64
curl -L "https://github.com/talss89/sprout/releases/latest/download/sprout-linux-x86_64.tar.gz" | tar zxf - && sudo install -c -m 0755 sprout /usr/local/bin

# aarch64 / amd64
curl -L "https://github.com/talss89/sprout/releases/latest/download/sprout-linux-aarch64.tar.gz" | tar zxf - && sudo install -c -m 0755 sprout /usr/local/bin

Windows support is untested, and will require compilation with cargo.

What's going on behind the scenes?

Sprout stores your data in the Restic Repo Format, and uses 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.

Sprout 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.