If you are self-hosting n8n Community Edition, you already know the pain: no built-in version control. Enterprise has Source Control at €667/mo, but for Community users, there is nothing.

I got tired of manually exporting workflow JSON, committing it, and fixing credentials by hand when promoting from staging to production. So I built n8n-sync — a CLI that gives you Git-friendly version control for your n8n workflows.

What it does

  • n8n-sync pull — exports all workflows to normalized JSON files (readable diffs!)
  • n8n-sync push — creates/updates workflows with credential mapping + dry-run
  • n8n-sync diff — shows semantic differences between local files and your instance
  • n8n-sync status — lists all workflows with drift detection

Why it is useful

  • diff --check exits 1 on drift — perfect for CI pipelines
  • Credential mapping between staging/production without manual fixes
  • YAML frontmatter + sorted JSON = actually readable Git diffs
  • No n8n Enterprise required

Install

pip install n8n-sync 

Quick start

n8n-sync init n8n-sync pull n8n-sync diff --check n8n-sync push --dry-run n8n-sync push 

The problem it solves

Without version control, self-hosted n8n workflows are a black box:

  • No history of changes
  • No way to review workflow modifications before they go live
  • No CI/CD integration
  • Credentials break when copying between instances
  • Cannot rollback a broken workflow

n8n-sync fixes all of this by making your workflows first-class Git citizens.

Repo: https://github.com/badwalx/n8n-sync

Would love feedback from other self-hosters. What is missing? What would make this useful for your workflow?