Introduction
Overview
Remote Sync is a plugin for Craft CMS that helps you sync your database and assets across multiple Craft environments via cloud destinations like AWS, Digital Ocean & Backblaze.
This makes it easier to move from local development to staging and onto production and avoids the need to regularly SSH into servers to perform database dumps and restores. Read more
How it works
Remote Sync provides a useful interface for manually syncing your data via the Craft CMS Control Panel utilites section:
Remote Sync also lets you automate the process via CLI commands:
./craft remote-sync/database/push
./craft remote-sync/database/pull
./craft remote-sync/database/list
./craft remote-sync/database/delete ...
Together with cron these commands can be used to automate your workflow.
Features
- Database sync: move the entire database from one environment to another without touching the CLI.
- Asset sync: copy all your asset folders without needing to FTP a file yourself.
- Multiple cloud providers: remote sync supports numerous cloud providers including AWS and Backblaze.
- Background queue: use the Craft queue to avoid hanging around for files to complete syncing.
- Supports large files: sync large multi-GB volumes and databases to remote destinations.
- CLI commands: automate syncing using the CLI commands and cron.
- Prunes old files and folders: automatically prune old files so you never run out of space.
- Remote volumes: sync remote volumes to other remote locations (i.e. S3 to Backblaze)
Quick start
To get started, click through to the following pages, otherwise, read on for some more about the plugin.
Installation
Find out how to install the plugin and get started.
Configuration
See how to configure your remote cloud provider to sync files.
Usage
Learn how to either manually sync or automate the process.
Getting help
Having trouble with the plugin? Get in touch for help.
- Latest plugin version is
5.0.0
- Check out the
CHANGELOG.md
for recent changes
Use-cases
Remote Sync is primarily a development tool useful when creating new sites and adding new features:
- Debug production: easily pull down the database and asset folders from your production sever to investigate issues safely from staging.
- Launch a site: after developing version 1.0 locally, push the database and assets folder directly to production.
- Shared dev environment: get other developers up to speed quickly by sharing a working database and asset folder.
Motivation
When developing a Craft website, it's common to work locally when making changes, push to a staging website for testing and then finally merge those changes to production.
This workflow requires you to keep your code, database & asset folders synced across three different environments.
Most developers will use git and the project.yaml
to keep their code synced, but it's more tedious to keep your database content and asset folders in sync: you need to SSH in, manually export & import database dumps, transfer asset folders via FTP etc. This quickly gets frustrating and time consuming.
Remote Sync aims to solve this problem by letting you easily sync database and asset folders across environments via a cloud provider:
This helps simplify the development, testing and deployment of Craft websites.
See the following posts for more:
- "Syncing your DB and assets across environments in Craft" - Me
- "Database asset syncing between environments in Craft CMS" - Andrew Welsch
See Also
Craft Remote Backup is the sister plugin to Remote Sync, allowing you to use the same cloud destinations to create database and volume backups. Using these plugins together is a great way to manage both syncing and backup in one place.