Logo Mark

Remote Sync

Streamline development by easily syncing database and volumes between your Craft environments.

Screenshot of Remote Sync

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:

The utilities interface for Remote Sync
The control panel interface for Remote Sync lets you pull, push and delete database and asset folders across environments

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 4.1.2
  • 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:

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.