n8n/packages/cli/src/modules/source-control.ee
2026-03-25 07:54:09 +00:00
..
__tests__ fix(core): Add format validation to source control branch name (#27518) 2026-03-25 07:54:09 +00:00
middleware refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
types fix(core): Add format validation to source control branch name (#27518) 2026-03-25 07:54:09 +00:00
constants.ts feat(core): Add data tables to env features (#23828) 2026-02-09 14:35:47 +00:00
README.md docs: Add source control setup demo to SourceControl module README.md (#23964) 2026-01-07 11:03:46 +00:00
source-control-export.service.ee.ts fix: Enable credentials experssions push and pull (#25530) 2026-02-12 17:00:48 +00:00
source-control-git.service.ee.ts fix(core): Improve SSH host key verification for source control (#24408) 2026-01-16 10:57:17 +00:00
source-control-helper.ee.ts fix(core): Prevent OAuth token wipe during source control pull (#26566) 2026-03-10 14:05:25 +00:00
source-control-import.service.ee.ts fix: Enable credentials experssions push and pull (#25530) 2026-02-12 17:00:48 +00:00
source-control-preferences.service.ee.ts fix(core): Improve SSH host key verification for source control (#24408) 2026-01-16 10:57:17 +00:00
source-control-resource-helper.ts refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
source-control-scoped.service.ts feat(core): Add data tables to env features (#23828) 2026-02-09 14:35:47 +00:00
source-control-status.service.ee.ts feat(editor): Show folder tree view in source control push/pull modals (#26758) 2026-03-16 08:43:23 +00:00
source-control.config.ts refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
source-control.controller.ee.ts fix(core): Put source control preferences behind auth (#24113) 2026-01-13 12:30:24 +00:00
source-control.module.ts perf(core): Disable unused modules on workers (#24449) 2026-01-16 12:34:22 +00:00
source-control.service.ee.ts feat(core): Add data tables to env features (#23828) 2026-02-09 14:35:47 +00:00

Source Control - Environments

Environments enable enterprise users of n8n to effectively manage multiple deployments of n8n by synchronizing them using a shared git repostiory.

Link to docs

Local development

When using the "usual" pnpm run dev scripts to start a local n8n instance, your local git settings and credentials will be picked up by the git repository that is cloned within n8n.

This is why you should start n8n in a docker container when doing any kind of manual testing of this feature.

Building a local docker image from your local checkout: pnpm build:docker

Starting a local container using that image: pnpm --filter n8n-containers stack:enterprise

The development experience of running n8n from source in a docker container still leaves a lot to be desired (lots of waiting for building and running the container). We should improve on this in the future.

Setup Demo

Video Demo

  • create a github repo
    • copy the ssh repository url
  • In n8n
    • go to settings/Environments
    • paste the ssh repository url
    • copy the ssh
  • Back in github
    • go to Settings/Deploy Keys
    • Click Add deploy key
    • Pate the ssh
    • important Tick "Allow write access"
  • Back in n8n
    • Click Connect