Kinsta Sync — pull/push your Local sites to & from Kinsta (files + database)

Kinsta Sync for Local

I built a community add-on that brings a Magic Sync-style pull/push workflow to Kinsta-hosted sites — something Local’s built-in Connect only does for Flywheel/WP Engine. It syncs files and database between your Local site and Kinsta (Production or Staging), with automatic URL search-replace, safety backups, and rollback.

Repo & downloads: GitHub - landerss0n/local-addon-kinsta: Sync WordPress sites between Local (localwp.com) and Kinsta — pull/push files + database with search-replace, backups and rollback. Community add-on, not affiliated with Kinsta. · GitHub

What it does

  • Pull from Kinsta — files + database from Production or Staging into your Local site
  • Push to Kinsta — with a fullscreen preview first: a dry-run diff of every file that would be added/updated/deleted on the server. Untick anything you don’t want, and choose only newer files vs all modified files — no blind --delete.
  • Automatic search-replacehttps://, http://, protocol-relative //, and JSON-escaped URLs (block attributes, plugin settings), multisite-aware, guid left untouched
  • Safety first — local + remote DB backups before every destructive step (verified non-empty), optional native Kinsta backup before push, and automatic rollback if a sync fails or is cancelled mid-import
  • Fail-fast pre-flight — checks SSH + WP-CLI reachability before touching anything
  • Clears Kinsta’s page/edge/CDN caches after a push; live rsync progress; cancel anytime; search across 100+ sites when linking

Requirements

  • macOS or Linux (Windows isn’t supported — it shells out to rsync/ssh)
  • Local 9.x+
  • A Kinsta account with an API key, your Company ID, and your SSH key added in MyKinsta
  • brew install rsync recommended on macOS for full live progress (works without it too)

Install

Grab the latest .tgz from Releases → Local → Add-ons → Installed → Install from disk → enable and relaunch. (Or build from source — see the README.)

Security

Your API key is encrypted at rest via Electron safeStorage, SSH uses your own keys/agent (nothing stored), every command is spawned with argument arrays (no shell strings), and there’s no telemetry. Details in the README.


:warning: Community project — not affiliated with, endorsed by, or supported by Kinsta Inc. or WP Engine. Use at your own risk; see the README’s Safety nets for how it protects your data.

Feedback, issues and PRs very welcome :raising_hands:

3 Likes