@n8n-as-code/skills 2.2.0 → 2.3.0-next.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/n8n-credentials-ontology.json +1 -1
- package/dist/assets/n8n-docs-complete.json +411 -411
- package/dist/assets/n8n-knowledge-index.json +132 -132
- package/dist/assets/n8n-nodes-index.json +5 -5
- package/dist/assets/n8n-nodes-technical.json +6 -6
- package/dist/assets/workflows-index.json +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-05-
|
|
2
|
+
"generatedAt": "2026-05-21T12:47:14.712Z",
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"sourceUrl": "https://docs.n8n.io/llms.txt",
|
|
5
5
|
"totalPages": 1284,
|
|
@@ -2798,13 +2798,13 @@
|
|
|
2798
2798
|
"nodeName": null,
|
|
2799
2799
|
"nodeType": null,
|
|
2800
2800
|
"content": {
|
|
2801
|
-
"markdown": "# Release notes\n\nNew features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.4 Current `beta`: 2.22.0\n\n## How to update n8n\n\nThe steps to update your n8n depend on which n8n platform you use. Refer to the documentation for your n8n:\n\n- [Cloud](../manage-cloud/update-cloud-version/)\n- Self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [Docker](../hosting/installation/docker/)\n\n## Semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). All version numbers are in the format `MAJOR.MINOR.PATCH`. Version numbers increment as follows:\n\n- MAJOR version when making incompatible changes which can require user action.\n- MINOR version when adding functionality in a backward-compatible manner.\n- PATCH version when making backward-compatible bug fixes.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.22.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.22.0...n8n@2.22.1) for this version.\\\n**Release date:** 2026-05-21\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.22.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.22.0) for this version.\\\n**Release date:** 2026-05-19\n\nThis release contains bug fixes.\n\n### Contributors\n\n[kimsehwan96](https://github.com/kimsehwan96)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[manuelgruber](https://github.com/manuelgruber)\\\n[muzahmood](https://github.com/muzahmood)\\\n[mvanhorn](https://github.com/mvanhorn)\\\n[ABDULALMAS](https://github.com/ABDULALMAS)\\\n[ChrisJr404](https://github.com/ChrisJr404)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[KhadyotTakale](https://github.com/KhadyotTakale)\\\n[rajats-dev](https://github.com/rajats-dev)\\\n[TheMazeIsAmazing](https://github.com/TheMazeIsAmazing)\\\n[onyxraven](https://github.com/onyxraven)\\\n[fendy3002](https://github.com/fendy3002)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.6) for this version.\\\n**Release date:** 2026-05-21\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.4...n8n@2.21.5) for this version.\\\n**Release date:** 2026-05-20\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.2...n8n@2.21.3) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.1...n8n@2.21.2) for this version.\\\n**Release date:** 2026-05-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.21.1) for this version.\\\n**Release date:** 2026-05-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.21.0) for this version.\\\n**Release date:** 2026-05-12\n\nThis release contains bug fixes.\n\n### Contributors\n\n[etairl](https://github.com/etairl)\\\n[devareddy05](https://github.com/devareddy05)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[sudarshan12s](https://github.com/sudarshan12s)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.10\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.9...n8n@2.20.10) for this version.\\\n**Release date:** 2026-05-18\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.9\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.8...n8n@2.20.9) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.7-exp.0...n8n@2.20.8) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.6...n8n@2.20.7) for this version.\\\n**Release date:** 2026-05-14\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.5...n8n@2.20.6) for this version.\\\n**Release date:** 2026-05-08\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.4...n8n@2.20.5) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.4) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.2...n8n@2.20.3) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.1) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**Release date:** 2026-05-05\n\nThis release contains bug fixes and features.\n\n### Microsoft Agent 365 Trigger node\n\nThe [Microsoft Agent 365 Trigger node](../integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.microsoftagent365trigger/) lets you build n8n agents that show up as members of your team inside Microsoft 365 apps. Once deployed, your agent gets its own identity in your Microsoft tenant, with an email address you can @mention in Teams, send email to, or grant permissions to a SharePoint site, just like a teammate.\n\nA Microsoft Agent 365 Trigger node with a chat model, memory, and tools across Zendesk, Salesforce, PagerDuty, Datadog, and a sub-workflow.\n\n#### How it works\n\nYou build the agent in n8n using the Microsoft Agent 365 Trigger node:\n\n- Add a system prompt and give the agent access to tools, MCP servers, and your existing workflows using [sub-workflows as tools](../flow-logic/subworkflows/).\n- Set up the agent on the Microsoft side (see the [Microsoft Agent 365 documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/) for the configuration steps). This gives the agent an Entra ID identity with an email address that you can @mention, email, or grant SharePoint permissions to.\n- Microsoft handles identity, lifecycle, security, and compliance for the agent on their side (via Entra ID, Purview, and Defender). n8n handles workflow-level governance like RBAC, credential management, and execution logs.\n\n#### Things to keep in mind\n\n- If you already use n8n with Microsoft services through individual nodes (Outlook, Teams, SharePoint, and so on), those workflows continue to work as before. Agent 365 is a new path for teams that want their agents to show up *inside* Microsoft apps and interact like a member of the team.\n- The node requires a Microsoft 365 tenant.\n\nFor the full launch story, see the [n8n blog post](https://blog.n8n.io/deploy-n8n-agents-that-show-up-as-members-of-the-team-inside-microsoft-apps/).\n\n### Contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingZZ](https://github.com/haimingZZ)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[Omc12](https://github.com/Omc12)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.4...n8n@2.19.5) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.3...n8n@2.19.4) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\n## n8n@2.19.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.2...n8n@2.19.3) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-04-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**Release date:** 2026-04-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes.\n\n### Contributors\n\n[abhishekDeshmukh74](https://github.com/abhishekDeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[MDub3y](https://github.com/MDub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[Vitalini](https://github.com/Vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[GauthierPLM](https://github.com/GauthierPLM)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.6...n8n@2.18.7) for this version.\\\n**Release date:** 2026-05-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes and features.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**Release date:** 2026-04-21\n\nThis release contains bug fixes.\n\n### Contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**Release date:** 2026-04-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**Release date:** 2026-04-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.16.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains bug fixes.\n\n## n8n@2.16.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**Release date:** 2026-04-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.15.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**Release date:** 2026-03-30\n\nThis release contains bug fixes.\n\n### Contributors\n\n[manusjs](https://github.com/manusjs)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**Release date:** 2026-03-24\n\nThis release contains bug fixes.\n\n### Contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.3...n8n@2.13.4) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.13.3) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.1...n8n@2.13.2) for this version.\\\n**Release date:** 2026-03-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.0...n8n@2.13.1) for this version.\\\n**Release date:** 2026-03-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.13.0) for this version.\\\n**Release date:** 2026-03-16\n\nThis release contains bug fixes and features.\n\n### Visual diff comes to version history\n\nOpen version history, click **Compare changes**, pick any two versions, and the canvas renders both side by side with changed nodes highlighted. A change count badge on each version helps you spot significant edits at a glance.\n\nVisual diff is available on Cloud Pro and above.\n\n### Project-scoped external secrets: full team access (Enterprise)\n\nWhat's new:\n\n- Project admins manage their own vault connections from project settings.\n- Project editors can use project-scoped secrets in credentials once the instance admin enables access.\n- [Custom roles](../user-management/rbac/custom-roles/) now include five secrets scopes: list, read, create, update, and delete.\n- Instance admins/owners no longer need to be project members for secrets to resolve.\n\n**For instance admins:** go to **Settings > External Secrets** and enable the **System Roles** toggle, or use custom roles for more granular control.\n\n**For project admins:** go to **Project Settings > External Secrets** to create and manage project-level connections. Instance-level connections shared with you appear as read-only.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Folder-based filtering in the push and pull dialog (Enterprise)\n\nThe push and pull dialogs now include a **Folder** filter alongside Status and Owner. Selecting a folder scopes the list to workflows in that folder and its subfolders, shown as a hierarchical tree with folder-level checkboxes. Text search also matches folder names.\n\nFolder-based filtering is available on n8n Enterprise (requires [Environments](../source-control-environments/setup/) configured).\n\n### Contributors\n\n[tbigby-kristin](https://github.com/tbigby-kristin)\\\n[ajuijas](https://github.com/ajuijas)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mjain](https://github.com/mjain)\\\n[bram2w](https://github.com/bram2w)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.1...n8n@2.12.2) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.12.1) for this version.\\\n**Release date:** 2026-03-11\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.12.0) for this version.\\\n**Release date:** 2026-03-09\n\nThis release contains bug fixes and features.\n\n### 1Password is now available as an external secrets provider (Enterprise)\n\nn8n now supports 1Password Connect Server as an [external secrets](../external-secrets/) provider, alongside HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.\n\nSecrets are fetched at runtime and never stored in n8n: 1Password stays the single source of truth. Multi-field items are available as structured sub-paths: `$secrets.<vault>.<item>.<field>`.\n\n#### How to connect\n\n1. Deploy a 1Password Connect Server and create an access token scoped to the vaults n8n should read.\n1. In n8n, go to **Settings > External Secrets**, select **1Password**, and enter your Connect Server URL and token.\n\nRequires self-hosted 1Password Connect Server with read-only access. 1Password as an external secrets provider is available on n8n Enterprise.\n\n### Contributors\n\n`github-actions[bot]` [amenk](https://github.com/amenk)\\\n[bpk9](https://github.com/bpk9)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.3...n8n@2.11.4) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.2...n8n@2.11.3) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.1...n8n@2.11.2) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.11.1) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.11.0) for this version.\\\n**Release date:** 2026-03-02\n\nThis release contains bug fixes and features.\n\n### Easier credential setup on Cloud\n\nSetting up credentials on n8n Cloud is now much simpler. For supported services, just click the **Connect** button, authenticate with the service, and you're ready to go. Skip the manual setup for Slack, Firecrawl, HubSpot, GitHub, Google Calendar, PagerDuty, Apify, and more.\n\nSetting up Slack credentials with managed OAuth.\n\n#### Things to keep in mind\n\n- If you prefer to use your own OAuth configuration, you can still switch to manual setup from the auth mode dropdown at any time.\n- This feature is only available on n8n Cloud, where n8n manages the OAuth apps on your behalf.\n\n### Custom roles: Assignments tab (Enterprise)\n\nInstance admins now have a dedicated **Assignments** tab on each [custom role](../user-management/rbac/custom-roles/) showing every user assigned to that role, which project they're in, and a direct link to manage them — no more navigating project by project.\n\nCustom roles are available on n8n Enterprise.\n\n### Project-scoped external secrets: instance admin setup (Enterprise)\n\nInstance admins can now create vault connections scoped to a specific project. Secrets from that connection appear only within that project's credentials, not across the instance. Instance-level connections are unaffected.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Workflow execute as a separate permission scope (Enterprise)\n\n`workflow:execute` is now a distinct scope in [custom project roles](../user-management/rbac/custom-roles/), separate from editing and publishing. Users can be granted run access without being able to modify the workflow, which is a common compliance requirement for sensitive workflows.\n\nThis scope is available on n8n Enterprise.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM)\\\n[onyxraven](https://github.com/onyxraven)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.3...n8n@2.10.4) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.2...n8n@2.10.3) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.1...n8n@2.10.2) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.10.1) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.10.0) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes and features.\n\n### Multiple connections per external secrets provider\n\nYou can now set up more than one connection for a single [external secrets](../external-secrets/) provider. The updated UI makes it easier to configure and manage multiple connections under the same provider type.\n\n### Performance improvements for large workflow and credential volumes\n\nImproved the reliability of the workflows and credentials listing pages for large-scale instances, reducing loading times by 30% to 80%.\n\n### Contributors\n\n[peteawood](https://github.com/peteawood)\\\n[horiyee](https://github.com/horiyee)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.4) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.4...n8n@2.9.4-exp.0) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.2...n8n@2.9.3) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.3-exp.0) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.1...n8n@2.9.2) for this version.\\\n**Release date:** 2026-02-23\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.9.1) for this version.\\\n**Release date:** 2026-02-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.9.0) for this version.\\\n**Release date:** 2026-02-16\n\nThis release contains bug fixes.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM) [LudwigGerdes](https://github.com/LudwigGerdes)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.3...n8n@2.8.4) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.2...n8n@2.8.3) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix and features.\n\n### Personal space policies (Enterprise)\n\nA new **Security & policies** settings section provides a central place for enforcing security requirements on your instance. In addition to the existing two-factor authentication enforcement, admins can now control what users can do in their personal spaces.\n\nAvailable policies include:\n\n- **Sharing**: control whether users can share workflows and credentials from their personal space.\n- **Workflow publishing**: control whether users can publish workflows from their personal space.\n\nThis release builds on the recent updates to the permissions model, including [custom project roles](../user-management/rbac/custom-roles/), to better support policy-driven governance.\n\nPersonal space policies are available on n8n Enterprise.\n\nThe new Security & policies settings section.\n\n### Custom roles: improved discoverability and permission visibility (Enterprise)\n\nThe project role selector now separates built-in system roles and custom roles into distinct sections, making it easier to find and choose the right role. Hovering over a role shows a summary of its configured permissions, with an option to view the full permission details.\n\nSystem roles and custom roles are now displayed in separate sections.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.1...n8n@2.8.2) for this version.\\\n**Release date:** 2026-02-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.8.1) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.4...n8n@2.7.5) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.3...n8n@2.7.4) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.2...n8n@2.7.3) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.3...n8n@2.6.4) for this version.\\\n**Release date:** 2026-02-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.8.0) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes and features.\n\n### Stronger external secrets validation (Enterprise)\n\nn8n now verifies that the current user has access to the referenced vaults before allowing a credential that uses **$secrets...** expressions to be saved. If access is missing, the save operation fails. This prevents secret values from being exposed through guessed secret paths.\n\n### Improved API auditability (Enterprise)\n\nAPI endpoints have been expanded to provide clearer visibility into project membership and credentials:\n\n- `GET /projects/{projectId}/users` returns all members of a project including their assigned role.\n- `GET /credentials` returns a paginated list of all credentials across the instance, including the project they belong to.\n\nThis makes it easier to audit who has access to which projects and credentials without manually reviewing each one in the UI.\n\n### More granular workflow permissions\n\nWorkflow publishing permissions for [custom roles](../user-management/rbac/custom-roles/) have been split into two separate scopes: **workflow:publish** and **workflow:unpublish**. This enables more precise access control in governance scenarios where unpublishing needs to be managed independently.\n\n### Performance and stability improvements\n\n- Improved performance for instances with very large user counts, reducing slowdowns caused by user-related operations.\n- Fixed a high-memory issue that could cause crashes during Source Control push flows in large deployments with many workflows and credentials.\n\n### Minor fixes\n\n- Canvas: improved node repositioning on insertion to reduce overlaps and spacing issues.\n- Log streaming: fixed proxy configuration handling for webhook destinations so requests work reliably when a proxy is configured.\n\n### Deprecated nodes\n\n#### Motorhead node\n\nThe [Motorhead](../integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymotorhead/) memory node is now deprecated because the Motorhead project is no longer maintained. The node is hidden from the nodes panel for new selections, but existing workflows using this node will continue to work.\n\n### Contributors\n\n[AmitAnveri](https://github.com/AmitAnveri)\\\n[derandreas-dt](https://github.com/derandreas-dt)\\\n[ongdisheng](https://github.com/ongdisheng)\\\n[vCaisim](https://github.com/vCaisim)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.1...n8n@2.7.2) for this version.\\\n**Release date:** 2026-02-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.7.1) for this version.\\\n**Release date:** 2026-02-03\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.0...n8n@2.7.0) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[LostInBrittany](https://github.com/LostInBrittany)\\\n[adriencohen](https://github.com/adriencohen)\\\n[ibex088](https://github.com/ibex088)\\\n[rutgere-indeed](https://github.com/rutgere-indeed)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.7-exp.0) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.2...n8n@2.6.3) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.8) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.1...n8n@2.6.2) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.6...n8n@2.4.7) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.1...n8n@2.5.2) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.5...n8n@2.4.6) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.4...n8n@2.4.5) for this version.\\\n**Release date:** 2026-01-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.0...n8n@2.6.0) for this version.\\\n**Release date:** 2026-01-26\n\nThis release contains bug fixes.\n\n### Human-in-the-loop for AI tool calls\n\nYou can now require explicit human approval before an AI Agent executes specific tools.\n\nHuman-in-the-loop (HITL) for AI tool calls enforces review directly at the tool level. A gated tool cannot execute unless a human explicitly approves the action, giving you deterministic control over high-impact operations like deleting records, writing to production systems, or sending high-impact emails. This removes the uncertainty of prompt-based safeguards and insulates you from probabilistic agent behavior.\n\nBecause the review step is implemented using standard n8n integrations, approvals are not limited to a single user or interface. Decisions can be routed across people and systems, enforcing approval from the right person using the channels they already work in.\n\n#### What you can do\n\n- Require explicit human approval for any tool the agent can call, including the MCP Client tool or sub-workflows exposed as tools\n- Apply approval selectively, so some tools execute autonomously while others require review\n- Route approvals across users and channels (for example, send a Slack-initiated action for approval by another user via email)\n- Add safety checks for high-impact or potentially destructive operations without complex workflow patterns or brittle prompt logic.\n\n#### How to use it\n\nStart with a workflow where an AI Agent is connected to one or more tools.\n\n1. On the connection from the AI Agent to the tool you want to gate, click the **+** icon and choose **Add human review step** (hovering over the icon shows the tooltip).\n1. The **Tools panel** opens with nodes you can use to handle the review step. Select the one you want to use.\n1. Configure the approval step in the added node’s parameters. Depending on the integration, you can define the approver, the message they receive, the available actions (for example, approve or deny), and the associated buttons.\n\n[](/_video/release-notes/HITLToolCalls.webm)\n\nGet precise control over where human judgment is required, without limiting what your agent can do. Learn more [here](../advanced-ai/human-in-the-loop-tools/).\n\n### Contributors\n\n[ibex088](https://github.com/ibex088)\\\n[johnlinp](https://github.com/johnlinp)\\\n[loganaden](https://github.com/loganaden)\\\n[Jameswlepage](https://github.com/Jameswlepage)\\\n[cesars-gh](https://github.com/cesars-gh)\\\n[antman1p](https://github.com/antman1p)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.5.0) for this version.\\\n**Release date:** 2026-01-20\n\nThis release contains bug fixes.\n\n### Chat node: human-in-the-loop actions\n\nThe **Chat** node now includes two new Actions for human-in-the-loop interactions in agentic workflows:\n\n- **Send a message**: send a message to the user and continue the workflow\n- **Send a message and wait for response**: send a message and pause execution until the user replies. Users can respond with free text in the Chat or by clicking inline approval buttons, as defined in the node’s configuration.\n\nThese Actions can be used as deterministic workflow steps or as tools for an **AI Agent**, enabling multi-turn human interaction within a single execution when using the **Chat Trigger**.\n\nWhen used as an agent tool, the agent can ask for clarification before proceeding, helping it better interpret user intent and follow instructions. Agents can also send updates during long-running workflows using these Actions.\n\n#### How to\n\n1. Trigger your workflow with the **Chat Trigger** node. In the node parameters, add the *Response Mode* option and set it to *Using Response Nodes*.\n1. Add a **Chat** node later in the workflow, or add it as a tool for an **AI Agent**. Select one of the following operations: *Send a message* or *Send a message and wait for response*.\n\n#### Keep in mind\n\n- If you want an AI Agent to choose between sending a message or waiting for input, add two **Chat** tool nodes, one for each action.\n- For AI Agents triggered by the **Chat Trigger** node, adding **Send a message and wait for response** is recommended so the agent can request clarification when needed.\n\nLearn more in the [Chat node documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chat/#operation).\n\n[](/_video/release-notes/ChatHITL.webm)\n\n### Contributors\n\n[AbdulTawabJuly](https://github.com/AbdulTawabJuly)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[sudarshan12s](https://github.com/sudarshan12s)\\\n[KaanAydinli](https://github.com/KaanAydinli)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.2...n8n@2.4.3) for this version.\\\n**Release date:** 2026-01-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.5...n8n@2.3.6) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.3...n8n@2.4.4) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.4...n8n@2.3.5) for this version.\\\n**Release date:** 2026-01-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.4.1) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.1...n8n@2.3.2) for this version.\\\n**Release date:** 2026-01-09\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.4.0) for this version.\\\n**Release date:** 2026-01-12\n\nThis release contains bug fixes.\n\n### TLS support for Syslog log streaming\n\nThe Syslog log streaming destination now supports TLS over TCP for encrypted connections. This enables secure log streaming to enterprise SIEM and observability platforms that require encrypted transport. With this release, log streaming is now compatible with a broader range of enterprise SIEM platforms.\n\n### Update credentials via API\n\nn8n's public API now supports updating existing credentials by ID via a new *PATCH /credentials/:id* endpoint. Previously, credentials could only be created through the API so any changes required deleting and recreating the credential.\n\nWhen updating, you can either replace all credential data at once (useful for bulk updates) or set *isPartialData: true* to merge changes with existing data. Ideal for automated secret rotation or fixing individual values without losing your configuration.\n\n### Contributors\n\n[JonLaliberte](https://github.com/JonLaliberte)\\\n[davidpanic](https://github.com/davidpanic)\\\n[TomTom101](https://github.com/TomTom101)\\\n[garritfra](https://github.com/garritfra)\\\n[maximepvrt](https://github.com/maximepvrt)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.2...n8n@2.3.3) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.3...n8n@2.3.4) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.3.1) for this version.\\\n**Release date:** 2026-01-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.4...n8n@2.2.5) for this version.\\\n**Release date:** 2026-01-08\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.3...n8n@2.2.4) for this version.\\\n**Release date:** 2026-01-06\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.3.0) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains bug fixes.\n\n### Contributors\n\n[Shashwat-06](https://github.com/Shashwat-06)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mithredate](https://github.com/mithredate)\\\n[belyas](https://github.com/belyas)\\\n[saurabhssonkar](https://github.com/saurabhssonkar)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.2...n8n@2.2.3) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.1...n8n@2.2.2) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.4...n8n@2.1.5) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.3...n8n@2.1.4) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.2...n8n@2.1.3) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.2.1) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.2.0) for this version.\n\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\n### More granular workflow permissions within Custom Project Roles (Enterprise)\n\nCustom Project Roles allow you to define fine-grained permissions at the project level. With this release, workflow permissions have been further refined by separating workflow editing from workflow publishing.\n\nThis change makes it easier to align access controls with internal processes where building workflows and publishing them are handled by different users or teams.\n\nCustom Project Roles\n\n### Log streaming: More audit events for improved observability\n\nLog streaming now includes additional audit events to improve visibility into operational and security-relevant changes.\n\nThis update adds events for manual workflow cancellations and workflow activation/deactivation (publish/unpublish), variable lifecycle events (create/update/delete), and user management actions (including enabling/disabling 2FA).\n\nWorkflow settings updates are also logged with the specific parameters that changed (for example, selecting a new error workflow), instead of a generic “updated” event.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.1...n8n@2.1.2) for this version.\\\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.1.1) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.2...n8n@2.0.3) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.1.0) for this version.\\\n**Release date:** 2025-12-16\n\nThis release contains bug fixes and features.\n\n### **Time Saved node**\n\nPreviously, teams could only track a single fixed time saved value for each workflow regardless of which path an execution takes. The new Time Saved node enables more precise time savings calculations where different execution paths will save different amounts of time.\n\nWith this release you can now:\n\n- **Choose fixed value or dynamic time tracking**: Use fixed time saved for simple workflows, or use one or many time saved nodes to calculate savings dynamically based on the actual execution path taken\n- **Configure per-item calculations**: When using the Time Saved node, choose whether to calculate time saved once for all items or multiply by the number of items processed\n\nThe new Time Saved node provides increased accuracy for complex workflows where different execution paths save different amounts of time.\n\nn8n automatically totals the time from all Time Saved nodes executed during each workflow run and reports it within the insights dashboard.\n\n### Contributors\n\n[Akcthecoder200](https://github.com/Akcthecoder200)\\\n[rishiraj-58](https://github.com/rishiraj-58)\\\n[rlafferty](https://github.com/rlafferty)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.1...n8n@2.0.2) for this version.\\\n**Release date:** 2025-12-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.0.1) for this version.\\\n**Release date:** 2025-12-10\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0) for this version.\\\n**Release date:** 2025-12-05\n\n### Major Version Change\n\nn8n 2.0.0 is a hardening release, not a feature release. It strengthens n8n's position as an enterprise-grade platform with secure-by-default execution, removal of legacy options that caused edge-case bugs, and better performance under load. The goal is a more predictable foundation you can rely on for mission-critical workflows.\n\nThis release is currently in **beta**. There's no urgency to upgrade immediately — take time to review the breaking changes and assess your workflows using the migration tool before upgrading.\n\nFor the full story behind 2.0, read our [announcement blog post](https://blog.n8n.io/introducing-n8n-2-0/).\n\n### Breaking changes\n\nVersion 2.0 includes breaking changes across security defaults, data handling, and configuration. Key changes include:\n\n- Task runners enabled by default (Code node executions now run in isolated environments)\n- Environment variable access blocked from Code nodes by default\n- ExecuteCommand and LocalFileTrigger nodes disabled by default\n- In-memory binary data mode removed\n\nReview the complete list and migration guidance in the [v2.0 breaking changes docs.](https://docs.n8n.io/2-0-breaking-changes/)\n\n### Before you upgrade\n\nUse the **Migration Report** tool to identify workflow-level and instance-level issues that need attention before upgrading.\n\nSee the [v2.0 migration tool docs](https://docs.n8n.io/migration-tool-v2/) for details.\n\n### Product updates\n\n**Publish / Save workflow paradigm**\n\nn8n 2.0 introduces a safer approach to updating live workflows. The `Save` button now preserves your edits without changing production. A new `Publish` button lets you explicitly push changes live when ready. See [Publish workflows](https://docs.n8n.io/workflows/publish/) for details.\n\n**Canvas and navigation improvements**\n\nSubtle refinements to the workflow editor canvas and reorganized sidebar navigation.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0-rc.4) for this version.\\\n**Release date:** 2025-12-05\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.2...n8n@2.0.0-rc.3) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.1...n8n@2.0.0-rc.2) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.0...n8n@2.0.0-rc.1) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.122.0...n8n@2.0.0-rc.0) for this version.\\\n**Release date:** 2025-12-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[farzad528](https://github.com/farzad528)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n",
|
|
2802
|
-
"excerpt": "# Release notes New features and bug fixes for n8n. You can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository. Stable and Beta versions n8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12). Current `stable`: 2.21.
|
|
2801
|
+
"markdown": "# Release notes\n\nNew features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## How to update n8n\n\nThe steps to update your n8n depend on which n8n platform you use. Refer to the documentation for your n8n:\n\n- [Cloud](../manage-cloud/update-cloud-version/)\n- Self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [Docker](../hosting/installation/docker/)\n\n## Semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). All version numbers are in the format `MAJOR.MINOR.PATCH`. Version numbers increment as follows:\n\n- MAJOR version when making incompatible changes which can require user action.\n- MINOR version when adding functionality in a backward-compatible manner.\n- PATCH version when making backward-compatible bug fixes.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.22.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.22.0...n8n@2.22.1) for this version.\\\n**Release date:** 2026-05-21\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.22.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.22.0) for this version.\\\n**Release date:** 2026-05-19\n\nThis release contains bug fixes.\n\n### Contributors\n\n[kimsehwan96](https://github.com/kimsehwan96)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[manuelgruber](https://github.com/manuelgruber)\\\n[muzahmood](https://github.com/muzahmood)\\\n[mvanhorn](https://github.com/mvanhorn)\\\n[ABDULALMAS](https://github.com/ABDULALMAS)\\\n[ChrisJr404](https://github.com/ChrisJr404)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[KhadyotTakale](https://github.com/KhadyotTakale)\\\n[rajats-dev](https://github.com/rajats-dev)\\\n[TheMazeIsAmazing](https://github.com/TheMazeIsAmazing)\\\n[onyxraven](https://github.com/onyxraven)\\\n[fendy3002](https://github.com/fendy3002)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.6) for this version.\\\n**Release date:** 2026-05-21\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.4...n8n@2.21.5) for this version.\\\n**Release date:** 2026-05-20\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.2...n8n@2.21.3) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.1...n8n@2.21.2) for this version.\\\n**Release date:** 2026-05-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.21.1) for this version.\\\n**Release date:** 2026-05-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.21.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.21.0) for this version.\\\n**Release date:** 2026-05-12\n\nThis release contains bug fixes.\n\n### Contributors\n\n[etairl](https://github.com/etairl)\\\n[devareddy05](https://github.com/devareddy05)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[sudarshan12s](https://github.com/sudarshan12s)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.10\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.9...n8n@2.20.10) for this version.\\\n**Release date:** 2026-05-18\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.9\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.8...n8n@2.20.9) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.7-exp.0...n8n@2.20.8) for this version.\\\n**Release date:** 2026-05-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.6...n8n@2.20.7) for this version.\\\n**Release date:** 2026-05-14\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.5...n8n@2.20.6) for this version.\\\n**Release date:** 2026-05-08\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.4...n8n@2.20.5) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.4) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.2...n8n@2.20.3) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.1) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.20.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**Release date:** 2026-05-05\n\nThis release contains bug fixes and features.\n\n### Microsoft Agent 365 Trigger node\n\nThe [Microsoft Agent 365 Trigger node](../integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.microsoftagent365trigger/) lets you build n8n agents that show up as members of your team inside Microsoft 365 apps. Once deployed, your agent gets its own identity in your Microsoft tenant, with an email address you can @mention in Teams, send email to, or grant permissions to a SharePoint site, just like a teammate.\n\nA Microsoft Agent 365 Trigger node with a chat model, memory, and tools across Zendesk, Salesforce, PagerDuty, Datadog, and a sub-workflow.\n\n#### How it works\n\nYou build the agent in n8n using the Microsoft Agent 365 Trigger node:\n\n- Add a system prompt and give the agent access to tools, MCP servers, and your existing workflows using [sub-workflows as tools](../flow-logic/subworkflows/).\n- Set up the agent on the Microsoft side (see the [Microsoft Agent 365 documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/) for the configuration steps). This gives the agent an Entra ID identity with an email address that you can @mention, email, or grant SharePoint permissions to.\n- Microsoft handles identity, lifecycle, security, and compliance for the agent on their side (via Entra ID, Purview, and Defender). n8n handles workflow-level governance like RBAC, credential management, and execution logs.\n\n#### Things to keep in mind\n\n- If you already use n8n with Microsoft services through individual nodes (Outlook, Teams, SharePoint, and so on), those workflows continue to work as before. Agent 365 is a new path for teams that want their agents to show up *inside* Microsoft apps and interact like a member of the team.\n- The node requires a Microsoft 365 tenant.\n\nFor the full launch story, see the [n8n blog post](https://blog.n8n.io/deploy-n8n-agents-that-show-up-as-members-of-the-team-inside-microsoft-apps/).\n\n### Contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingZZ](https://github.com/haimingZZ)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[Omc12](https://github.com/Omc12)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.4...n8n@2.19.5) for this version.\\\n**Release date:** 2026-05-07\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.3...n8n@2.19.4) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\n## n8n@2.19.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.2...n8n@2.19.3) for this version.\\\n**Release date:** 2026-05-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-04-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**Release date:** 2026-04-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes.\n\n### Contributors\n\n[abhishekDeshmukh74](https://github.com/abhishekDeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[MDub3y](https://github.com/MDub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[Vitalini](https://github.com/Vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[GauthierPLM](https://github.com/GauthierPLM)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.6...n8n@2.18.7) for this version.\\\n**Release date:** 2026-05-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes and features.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**Release date:** 2026-04-21\n\nThis release contains bug fixes.\n\n### Contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**Release date:** 2026-04-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**Release date:** 2026-04-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.16.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains bug fixes.\n\n## n8n@2.16.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**Release date:** 2026-04-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.15.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**Release date:** 2026-03-30\n\nThis release contains bug fixes.\n\n### Contributors\n\n[manusjs](https://github.com/manusjs)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**Release date:** 2026-03-24\n\nThis release contains bug fixes.\n\n### Contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.3...n8n@2.13.4) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.13.3) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.1...n8n@2.13.2) for this version.\\\n**Release date:** 2026-03-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.0...n8n@2.13.1) for this version.\\\n**Release date:** 2026-03-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.13.0) for this version.\\\n**Release date:** 2026-03-16\n\nThis release contains bug fixes and features.\n\n### Visual diff comes to version history\n\nOpen version history, click **Compare changes**, pick any two versions, and the canvas renders both side by side with changed nodes highlighted. A change count badge on each version helps you spot significant edits at a glance.\n\nVisual diff is available on Cloud Pro and above.\n\n### Project-scoped external secrets: full team access (Enterprise)\n\nWhat's new:\n\n- Project admins manage their own vault connections from project settings.\n- Project editors can use project-scoped secrets in credentials once the instance admin enables access.\n- [Custom roles](../user-management/rbac/custom-roles/) now include five secrets scopes: list, read, create, update, and delete.\n- Instance admins/owners no longer need to be project members for secrets to resolve.\n\n**For instance admins:** go to **Settings > External Secrets** and enable the **System Roles** toggle, or use custom roles for more granular control.\n\n**For project admins:** go to **Project Settings > External Secrets** to create and manage project-level connections. Instance-level connections shared with you appear as read-only.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Folder-based filtering in the push and pull dialog (Enterprise)\n\nThe push and pull dialogs now include a **Folder** filter alongside Status and Owner. Selecting a folder scopes the list to workflows in that folder and its subfolders, shown as a hierarchical tree with folder-level checkboxes. Text search also matches folder names.\n\nFolder-based filtering is available on n8n Enterprise (requires [Environments](../source-control-environments/setup/) configured).\n\n### Contributors\n\n[tbigby-kristin](https://github.com/tbigby-kristin)\\\n[ajuijas](https://github.com/ajuijas)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mjain](https://github.com/mjain)\\\n[bram2w](https://github.com/bram2w)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.1...n8n@2.12.2) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.12.1) for this version.\\\n**Release date:** 2026-03-11\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.12.0) for this version.\\\n**Release date:** 2026-03-09\n\nThis release contains bug fixes and features.\n\n### 1Password is now available as an external secrets provider (Enterprise)\n\nn8n now supports 1Password Connect Server as an [external secrets](../external-secrets/) provider, alongside HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.\n\nSecrets are fetched at runtime and never stored in n8n: 1Password stays the single source of truth. Multi-field items are available as structured sub-paths: `$secrets.<vault>.<item>.<field>`.\n\n#### How to connect\n\n1. Deploy a 1Password Connect Server and create an access token scoped to the vaults n8n should read.\n1. In n8n, go to **Settings > External Secrets**, select **1Password**, and enter your Connect Server URL and token.\n\nRequires self-hosted 1Password Connect Server with read-only access. 1Password as an external secrets provider is available on n8n Enterprise.\n\n### Contributors\n\n`github-actions[bot]` [amenk](https://github.com/amenk)\\\n[bpk9](https://github.com/bpk9)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.3...n8n@2.11.4) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.2...n8n@2.11.3) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.1...n8n@2.11.2) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.11.1) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.11.0) for this version.\\\n**Release date:** 2026-03-02\n\nThis release contains bug fixes and features.\n\n### Easier credential setup on Cloud\n\nSetting up credentials on n8n Cloud is now much simpler. For supported services, just click the **Connect** button, authenticate with the service, and you're ready to go. Skip the manual setup for Slack, Firecrawl, HubSpot, GitHub, Google Calendar, PagerDuty, Apify, and more.\n\nSetting up Slack credentials with managed OAuth.\n\n#### Things to keep in mind\n\n- If you prefer to use your own OAuth configuration, you can still switch to manual setup from the auth mode dropdown at any time.\n- This feature is only available on n8n Cloud, where n8n manages the OAuth apps on your behalf.\n\n### Custom roles: Assignments tab (Enterprise)\n\nInstance admins now have a dedicated **Assignments** tab on each [custom role](../user-management/rbac/custom-roles/) showing every user assigned to that role, which project they're in, and a direct link to manage them — no more navigating project by project.\n\nCustom roles are available on n8n Enterprise.\n\n### Project-scoped external secrets: instance admin setup (Enterprise)\n\nInstance admins can now create vault connections scoped to a specific project. Secrets from that connection appear only within that project's credentials, not across the instance. Instance-level connections are unaffected.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Workflow execute as a separate permission scope (Enterprise)\n\n`workflow:execute` is now a distinct scope in [custom project roles](../user-management/rbac/custom-roles/), separate from editing and publishing. Users can be granted run access without being able to modify the workflow, which is a common compliance requirement for sensitive workflows.\n\nThis scope is available on n8n Enterprise.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM)\\\n[onyxraven](https://github.com/onyxraven)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.3...n8n@2.10.4) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.2...n8n@2.10.3) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.1...n8n@2.10.2) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.10.1) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.10.0) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes and features.\n\n### Multiple connections per external secrets provider\n\nYou can now set up more than one connection for a single [external secrets](../external-secrets/) provider. The updated UI makes it easier to configure and manage multiple connections under the same provider type.\n\n### Performance improvements for large workflow and credential volumes\n\nImproved the reliability of the workflows and credentials listing pages for large-scale instances, reducing loading times by 30% to 80%.\n\n### Contributors\n\n[peteawood](https://github.com/peteawood)\\\n[horiyee](https://github.com/horiyee)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.4) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.4...n8n@2.9.4-exp.0) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.2...n8n@2.9.3) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.3-exp.0) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.1...n8n@2.9.2) for this version.\\\n**Release date:** 2026-02-23\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.9.1) for this version.\\\n**Release date:** 2026-02-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.9.0) for this version.\\\n**Release date:** 2026-02-16\n\nThis release contains bug fixes.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM) [LudwigGerdes](https://github.com/LudwigGerdes)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.3...n8n@2.8.4) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.2...n8n@2.8.3) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix and features.\n\n### Personal space policies (Enterprise)\n\nA new **Security & policies** settings section provides a central place for enforcing security requirements on your instance. In addition to the existing two-factor authentication enforcement, admins can now control what users can do in their personal spaces.\n\nAvailable policies include:\n\n- **Sharing**: control whether users can share workflows and credentials from their personal space.\n- **Workflow publishing**: control whether users can publish workflows from their personal space.\n\nThis release builds on the recent updates to the permissions model, including [custom project roles](../user-management/rbac/custom-roles/), to better support policy-driven governance.\n\nPersonal space policies are available on n8n Enterprise.\n\nThe new Security & policies settings section.\n\n### Custom roles: improved discoverability and permission visibility (Enterprise)\n\nThe project role selector now separates built-in system roles and custom roles into distinct sections, making it easier to find and choose the right role. Hovering over a role shows a summary of its configured permissions, with an option to view the full permission details.\n\nSystem roles and custom roles are now displayed in separate sections.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.1...n8n@2.8.2) for this version.\\\n**Release date:** 2026-02-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.8.1) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.4...n8n@2.7.5) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.3...n8n@2.7.4) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.2...n8n@2.7.3) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.3...n8n@2.6.4) for this version.\\\n**Release date:** 2026-02-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.8.0) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes and features.\n\n### Stronger external secrets validation (Enterprise)\n\nn8n now verifies that the current user has access to the referenced vaults before allowing a credential that uses **$secrets...** expressions to be saved. If access is missing, the save operation fails. This prevents secret values from being exposed through guessed secret paths.\n\n### Improved API auditability (Enterprise)\n\nAPI endpoints have been expanded to provide clearer visibility into project membership and credentials:\n\n- `GET /projects/{projectId}/users` returns all members of a project including their assigned role.\n- `GET /credentials` returns a paginated list of all credentials across the instance, including the project they belong to.\n\nThis makes it easier to audit who has access to which projects and credentials without manually reviewing each one in the UI.\n\n### More granular workflow permissions\n\nWorkflow publishing permissions for [custom roles](../user-management/rbac/custom-roles/) have been split into two separate scopes: **workflow:publish** and **workflow:unpublish**. This enables more precise access control in governance scenarios where unpublishing needs to be managed independently.\n\n### Performance and stability improvements\n\n- Improved performance for instances with very large user counts, reducing slowdowns caused by user-related operations.\n- Fixed a high-memory issue that could cause crashes during Source Control push flows in large deployments with many workflows and credentials.\n\n### Minor fixes\n\n- Canvas: improved node repositioning on insertion to reduce overlaps and spacing issues.\n- Log streaming: fixed proxy configuration handling for webhook destinations so requests work reliably when a proxy is configured.\n\n### Deprecated nodes\n\n#### Motorhead node\n\nThe [Motorhead](../integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymotorhead/) memory node is now deprecated because the Motorhead project is no longer maintained. The node is hidden from the nodes panel for new selections, but existing workflows using this node will continue to work.\n\n### Contributors\n\n[AmitAnveri](https://github.com/AmitAnveri)\\\n[derandreas-dt](https://github.com/derandreas-dt)\\\n[ongdisheng](https://github.com/ongdisheng)\\\n[vCaisim](https://github.com/vCaisim)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.1...n8n@2.7.2) for this version.\\\n**Release date:** 2026-02-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.7.1) for this version.\\\n**Release date:** 2026-02-03\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.0...n8n@2.7.0) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[LostInBrittany](https://github.com/LostInBrittany)\\\n[adriencohen](https://github.com/adriencohen)\\\n[ibex088](https://github.com/ibex088)\\\n[rutgere-indeed](https://github.com/rutgere-indeed)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.7-exp.0) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.2...n8n@2.6.3) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.8) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.1...n8n@2.6.2) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.6...n8n@2.4.7) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.1...n8n@2.5.2) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.5...n8n@2.4.6) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.4...n8n@2.4.5) for this version.\\\n**Release date:** 2026-01-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.0...n8n@2.6.0) for this version.\\\n**Release date:** 2026-01-26\n\nThis release contains bug fixes.\n\n### Human-in-the-loop for AI tool calls\n\nYou can now require explicit human approval before an AI Agent executes specific tools.\n\nHuman-in-the-loop (HITL) for AI tool calls enforces review directly at the tool level. A gated tool cannot execute unless a human explicitly approves the action, giving you deterministic control over high-impact operations like deleting records, writing to production systems, or sending high-impact emails. This removes the uncertainty of prompt-based safeguards and insulates you from probabilistic agent behavior.\n\nBecause the review step is implemented using standard n8n integrations, approvals are not limited to a single user or interface. Decisions can be routed across people and systems, enforcing approval from the right person using the channels they already work in.\n\n#### What you can do\n\n- Require explicit human approval for any tool the agent can call, including the MCP Client tool or sub-workflows exposed as tools\n- Apply approval selectively, so some tools execute autonomously while others require review\n- Route approvals across users and channels (for example, send a Slack-initiated action for approval by another user via email)\n- Add safety checks for high-impact or potentially destructive operations without complex workflow patterns or brittle prompt logic.\n\n#### How to use it\n\nStart with a workflow where an AI Agent is connected to one or more tools.\n\n1. On the connection from the AI Agent to the tool you want to gate, click the **+** icon and choose **Add human review step** (hovering over the icon shows the tooltip).\n1. The **Tools panel** opens with nodes you can use to handle the review step. Select the one you want to use.\n1. Configure the approval step in the added node’s parameters. Depending on the integration, you can define the approver, the message they receive, the available actions (for example, approve or deny), and the associated buttons.\n\n[](/_video/release-notes/HITLToolCalls.webm)\n\nGet precise control over where human judgment is required, without limiting what your agent can do. Learn more [here](../advanced-ai/human-in-the-loop-tools/).\n\n### Contributors\n\n[ibex088](https://github.com/ibex088)\\\n[johnlinp](https://github.com/johnlinp)\\\n[loganaden](https://github.com/loganaden)\\\n[Jameswlepage](https://github.com/Jameswlepage)\\\n[cesars-gh](https://github.com/cesars-gh)\\\n[antman1p](https://github.com/antman1p)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.5.0) for this version.\\\n**Release date:** 2026-01-20\n\nThis release contains bug fixes.\n\n### Chat node: human-in-the-loop actions\n\nThe **Chat** node now includes two new Actions for human-in-the-loop interactions in agentic workflows:\n\n- **Send a message**: send a message to the user and continue the workflow\n- **Send a message and wait for response**: send a message and pause execution until the user replies. Users can respond with free text in the Chat or by clicking inline approval buttons, as defined in the node’s configuration.\n\nThese Actions can be used as deterministic workflow steps or as tools for an **AI Agent**, enabling multi-turn human interaction within a single execution when using the **Chat Trigger**.\n\nWhen used as an agent tool, the agent can ask for clarification before proceeding, helping it better interpret user intent and follow instructions. Agents can also send updates during long-running workflows using these Actions.\n\n#### How to\n\n1. Trigger your workflow with the **Chat Trigger** node. In the node parameters, add the *Response Mode* option and set it to *Using Response Nodes*.\n1. Add a **Chat** node later in the workflow, or add it as a tool for an **AI Agent**. Select one of the following operations: *Send a message* or *Send a message and wait for response*.\n\n#### Keep in mind\n\n- If you want an AI Agent to choose between sending a message or waiting for input, add two **Chat** tool nodes, one for each action.\n- For AI Agents triggered by the **Chat Trigger** node, adding **Send a message and wait for response** is recommended so the agent can request clarification when needed.\n\nLearn more in the [Chat node documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chat/#operation).\n\n[](/_video/release-notes/ChatHITL.webm)\n\n### Contributors\n\n[AbdulTawabJuly](https://github.com/AbdulTawabJuly)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[sudarshan12s](https://github.com/sudarshan12s)\\\n[KaanAydinli](https://github.com/KaanAydinli)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.2...n8n@2.4.3) for this version.\\\n**Release date:** 2026-01-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.5...n8n@2.3.6) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.3...n8n@2.4.4) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.4...n8n@2.3.5) for this version.\\\n**Release date:** 2026-01-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.4.1) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.1...n8n@2.3.2) for this version.\\\n**Release date:** 2026-01-09\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.4.0) for this version.\\\n**Release date:** 2026-01-12\n\nThis release contains bug fixes.\n\n### TLS support for Syslog log streaming\n\nThe Syslog log streaming destination now supports TLS over TCP for encrypted connections. This enables secure log streaming to enterprise SIEM and observability platforms that require encrypted transport. With this release, log streaming is now compatible with a broader range of enterprise SIEM platforms.\n\n### Update credentials via API\n\nn8n's public API now supports updating existing credentials by ID via a new *PATCH /credentials/:id* endpoint. Previously, credentials could only be created through the API so any changes required deleting and recreating the credential.\n\nWhen updating, you can either replace all credential data at once (useful for bulk updates) or set *isPartialData: true* to merge changes with existing data. Ideal for automated secret rotation or fixing individual values without losing your configuration.\n\n### Contributors\n\n[JonLaliberte](https://github.com/JonLaliberte)\\\n[davidpanic](https://github.com/davidpanic)\\\n[TomTom101](https://github.com/TomTom101)\\\n[garritfra](https://github.com/garritfra)\\\n[maximepvrt](https://github.com/maximepvrt)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.2...n8n@2.3.3) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.3...n8n@2.3.4) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.3.1) for this version.\\\n**Release date:** 2026-01-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.4...n8n@2.2.5) for this version.\\\n**Release date:** 2026-01-08\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.3...n8n@2.2.4) for this version.\\\n**Release date:** 2026-01-06\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.3.0) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains bug fixes.\n\n### Contributors\n\n[Shashwat-06](https://github.com/Shashwat-06)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mithredate](https://github.com/mithredate)\\\n[belyas](https://github.com/belyas)\\\n[saurabhssonkar](https://github.com/saurabhssonkar)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.2...n8n@2.2.3) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.1...n8n@2.2.2) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.4...n8n@2.1.5) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.3...n8n@2.1.4) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.2...n8n@2.1.3) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.2.1) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.2.0) for this version.\n\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\n### More granular workflow permissions within Custom Project Roles (Enterprise)\n\nCustom Project Roles allow you to define fine-grained permissions at the project level. With this release, workflow permissions have been further refined by separating workflow editing from workflow publishing.\n\nThis change makes it easier to align access controls with internal processes where building workflows and publishing them are handled by different users or teams.\n\nCustom Project Roles\n\n### Log streaming: More audit events for improved observability\n\nLog streaming now includes additional audit events to improve visibility into operational and security-relevant changes.\n\nThis update adds events for manual workflow cancellations and workflow activation/deactivation (publish/unpublish), variable lifecycle events (create/update/delete), and user management actions (including enabling/disabling 2FA).\n\nWorkflow settings updates are also logged with the specific parameters that changed (for example, selecting a new error workflow), instead of a generic “updated” event.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.1...n8n@2.1.2) for this version.\\\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.1.1) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.2...n8n@2.0.3) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.1.0) for this version.\\\n**Release date:** 2025-12-16\n\nThis release contains bug fixes and features.\n\n### **Time Saved node**\n\nPreviously, teams could only track a single fixed time saved value for each workflow regardless of which path an execution takes. The new Time Saved node enables more precise time savings calculations where different execution paths will save different amounts of time.\n\nWith this release you can now:\n\n- **Choose fixed value or dynamic time tracking**: Use fixed time saved for simple workflows, or use one or many time saved nodes to calculate savings dynamically based on the actual execution path taken\n- **Configure per-item calculations**: When using the Time Saved node, choose whether to calculate time saved once for all items or multiply by the number of items processed\n\nThe new Time Saved node provides increased accuracy for complex workflows where different execution paths save different amounts of time.\n\nn8n automatically totals the time from all Time Saved nodes executed during each workflow run and reports it within the insights dashboard.\n\n### Contributors\n\n[Akcthecoder200](https://github.com/Akcthecoder200)\\\n[rishiraj-58](https://github.com/rishiraj-58)\\\n[rlafferty](https://github.com/rlafferty)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.1...n8n@2.0.2) for this version.\\\n**Release date:** 2025-12-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.0.1) for this version.\\\n**Release date:** 2025-12-10\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0) for this version.\\\n**Release date:** 2025-12-05\n\n### Major Version Change\n\nn8n 2.0.0 is a hardening release, not a feature release. It strengthens n8n's position as an enterprise-grade platform with secure-by-default execution, removal of legacy options that caused edge-case bugs, and better performance under load. The goal is a more predictable foundation you can rely on for mission-critical workflows.\n\nThis release is currently in **beta**. There's no urgency to upgrade immediately — take time to review the breaking changes and assess your workflows using the migration tool before upgrading.\n\nFor the full story behind 2.0, read our [announcement blog post](https://blog.n8n.io/introducing-n8n-2-0/).\n\n### Breaking changes\n\nVersion 2.0 includes breaking changes across security defaults, data handling, and configuration. Key changes include:\n\n- Task runners enabled by default (Code node executions now run in isolated environments)\n- Environment variable access blocked from Code nodes by default\n- ExecuteCommand and LocalFileTrigger nodes disabled by default\n- In-memory binary data mode removed\n\nReview the complete list and migration guidance in the [v2.0 breaking changes docs.](https://docs.n8n.io/2-0-breaking-changes/)\n\n### Before you upgrade\n\nUse the **Migration Report** tool to identify workflow-level and instance-level issues that need attention before upgrading.\n\nSee the [v2.0 migration tool docs](https://docs.n8n.io/migration-tool-v2/) for details.\n\n### Product updates\n\n**Publish / Save workflow paradigm**\n\nn8n 2.0 introduces a safer approach to updating live workflows. The `Save` button now preserves your edits without changing production. A new `Publish` button lets you explicitly push changes live when ready. See [Publish workflows](https://docs.n8n.io/workflows/publish/) for details.\n\n**Canvas and navigation improvements**\n\nSubtle refinements to the workflow editor canvas and reorganized sidebar navigation.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0-rc.4) for this version.\\\n**Release date:** 2025-12-05\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.2...n8n@2.0.0-rc.3) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.1...n8n@2.0.0-rc.2) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.0...n8n@2.0.0-rc.1) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.122.0...n8n@2.0.0-rc.0) for this version.\\\n**Release date:** 2025-12-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[farzad528](https://github.com/farzad528)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n",
|
|
2802
|
+
"excerpt": "# Release notes New features and bug fixes for n8n. You can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository. Stable and Beta versions n8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12). Current `stable`: 2.21.5 Current `beta`: 2.22.0 ## How to update n8n The steps to...",
|
|
2803
2803
|
"sections": [
|
|
2804
2804
|
{
|
|
2805
2805
|
"title": "Release notes",
|
|
2806
2806
|
"level": 1,
|
|
2807
|
-
"content": "New features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
2807
|
+
"content": "New features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0"
|
|
2808
2808
|
}
|
|
2809
2809
|
]
|
|
2810
2810
|
},
|
|
@@ -2930,7 +2930,7 @@
|
|
|
2930
2930
|
"relatedPages": []
|
|
2931
2931
|
},
|
|
2932
2932
|
"searchIndex": {
|
|
2933
|
-
"fullText": "2.x # release notes\n\nnew features and bug fixes for n8n.\n\nyou can also view the [releases](https://github.com/n8n-io/n8n/releases) in the github repository.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.4 current `beta`: 2.22.0\n\n## how to update n8n\n\nthe steps to update your n8n depend on which n8n platform you use. refer to the documentation for your n8n:\n\n- [cloud](../manage-cloud/update-cloud-version/)\n- self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [docker](../hosting/installation/docker/)\n\n## semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). all version numbers are in the format `major.minor.patch`. version numbers increment as follows:\n\n- major version when making incompatible changes which can require user action.\n- minor version when adding functionality in a backward-compatible manner.\n- patch version when making backward-compatible bug fixes.\n\nolder versions\n\nyou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.22.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.22.0...n8n@2.22.1) for this version.\\\n**release date:** 2026-05-21\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.22.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.22.0) for this version.\\\n**release date:** 2026-05-19\n\nthis release contains bug fixes.\n\n### contributors\n\n[kimsehwan96](https://github.com/kimsehwan96)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[manuelgruber](https://github.com/manuelgruber)\\\n[muzahmood](https://github.com/muzahmood)\\\n[mvanhorn](https://github.com/mvanhorn)\\\n[abdulalmas](https://github.com/abdulalmas)\\\n[chrisjr404](https://github.com/chrisjr404)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[khadyottakale](https://github.com/khadyottakale)\\\n[rajats-dev](https://github.com/rajats-dev)\\\n[themazeisamazing](https://github.com/themazeisamazing)\\\n[onyxraven](https://github.com/onyxraven)\\\n[fendy3002](https://github.com/fendy3002)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.6) for this version.\\\n**release date:** 2026-05-21\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.4...n8n@2.21.5) for this version.\\\n**release date:** 2026-05-20\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.2...n8n@2.21.3) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.1...n8n@2.21.2) for this version.\\\n**release date:** 2026-05-14\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.21.1) for this version.\\\n**release date:** 2026-05-13\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.21.0) for this version.\\\n**release date:** 2026-05-12\n\nthis release contains bug fixes.\n\n### contributors\n\n[etairl](https://github.com/etairl)\\\n[devareddy05](https://github.com/devareddy05)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[sudarshan12s](https://github.com/sudarshan12s)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.10\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.9...n8n@2.20.10) for this version.\\\n**release date:** 2026-05-18\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.9\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.8...n8n@2.20.9) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.8\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.7-exp.0...n8n@2.20.8) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.7\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.6...n8n@2.20.7) for this version.\\\n**release date:** 2026-05-14\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.5...n8n@2.20.6) for this version.\\\n**release date:** 2026-05-08\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.4...n8n@2.20.5) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.4) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.2...n8n@2.20.3) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.1) for this version.\\\n**release date:** 2026-05-06\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**release date:** 2026-05-05\n\nthis release contains bug fixes and features.\n\n### microsoft agent 365 trigger node\n\nthe [microsoft agent 365 trigger node](../integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.microsoftagent365trigger/) lets you build n8n agents that show up as members of your team inside microsoft 365 apps. once deployed, your agent gets its own identity in your microsoft tenant, with an email address you can @mention in teams, send email to, or grant permissions to a sharepoint site, just like a teammate.\n\na microsoft agent 365 trigger node with a chat model, memory, and tools across zendesk, salesforce, pagerduty, datadog, and a sub-workflow.\n\n#### how it works\n\nyou build the agent in n8n using the microsoft agent 365 trigger node:\n\n- add a system prompt and give the agent access to tools, mcp servers, and your existing workflows using [sub-workflows as tools](../flow-logic/subworkflows/).\n- set up the agent on the microsoft side (see the [microsoft agent 365 documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/) for the configuration steps). this gives the agent an entra id identity with an email address that you can @mention, email, or grant sharepoint permissions to.\n- microsoft handles identity, lifecycle, security, and compliance for the agent on their side (via entra id, purview, and defender). n8n handles workflow-level governance like rbac, credential management, and execution logs.\n\n#### things to keep in mind\n\n- if you already use n8n with microsoft services through individual nodes (outlook, teams, sharepoint, and so on), those workflows continue to work as before. agent 365 is a new path for teams that want their agents to show up *inside* microsoft apps and interact like a member of the team.\n- the node requires a microsoft 365 tenant.\n\nfor the full launch story, see the [n8n blog post](https://blog.n8n.io/deploy-n8n-agents-that-show-up-as-members-of-the-team-inside-microsoft-apps/).\n\n### contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingzz](https://github.com/haimingzz)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[omc12](https://github.com/omc12)\\\n[gulianrdgd](https://github.com/gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.4...n8n@2.19.5) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.3...n8n@2.19.4) for this version.\\\n**release date:** 2026-05-06\n\nthis release contains bug fixes.\n\n## n8n@2.19.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.2...n8n@2.19.3) for this version.\\\n**release date:** 2026-05-0",
|
|
2933
|
+
"fullText": "2.x # release notes\n\nnew features and bug fixes for n8n.\n\nyou can also view the [releases](https://github.com/n8n-io/n8n/releases) in the github repository.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## how to update n8n\n\nthe steps to update your n8n depend on which n8n platform you use. refer to the documentation for your n8n:\n\n- [cloud](../manage-cloud/update-cloud-version/)\n- self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [docker](../hosting/installation/docker/)\n\n## semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). all version numbers are in the format `major.minor.patch`. version numbers increment as follows:\n\n- major version when making incompatible changes which can require user action.\n- minor version when adding functionality in a backward-compatible manner.\n- patch version when making backward-compatible bug fixes.\n\nolder versions\n\nyou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.22.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.22.0...n8n@2.22.1) for this version.\\\n**release date:** 2026-05-21\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.22.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.22.0) for this version.\\\n**release date:** 2026-05-19\n\nthis release contains bug fixes.\n\n### contributors\n\n[kimsehwan96](https://github.com/kimsehwan96)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[manuelgruber](https://github.com/manuelgruber)\\\n[muzahmood](https://github.com/muzahmood)\\\n[mvanhorn](https://github.com/mvanhorn)\\\n[abdulalmas](https://github.com/abdulalmas)\\\n[chrisjr404](https://github.com/chrisjr404)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[khadyottakale](https://github.com/khadyottakale)\\\n[rajats-dev](https://github.com/rajats-dev)\\\n[themazeisamazing](https://github.com/themazeisamazing)\\\n[onyxraven](https://github.com/onyxraven)\\\n[fendy3002](https://github.com/fendy3002)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.6) for this version.\\\n**release date:** 2026-05-21\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.4...n8n@2.21.5) for this version.\\\n**release date:** 2026-05-20\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.2...n8n@2.21.3) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.1...n8n@2.21.2) for this version.\\\n**release date:** 2026-05-14\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.21.0...n8n@2.21.1) for this version.\\\n**release date:** 2026-05-13\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.21.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.21.0) for this version.\\\n**release date:** 2026-05-12\n\nthis release contains bug fixes.\n\n### contributors\n\n[etairl](https://github.com/etairl)\\\n[devareddy05](https://github.com/devareddy05)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[sudarshan12s](https://github.com/sudarshan12s)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.10\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.9...n8n@2.20.10) for this version.\\\n**release date:** 2026-05-18\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.9\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.8...n8n@2.20.9) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.8\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.7-exp.0...n8n@2.20.8) for this version.\\\n**release date:** 2026-05-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.7\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.6...n8n@2.20.7) for this version.\\\n**release date:** 2026-05-14\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.5...n8n@2.20.6) for this version.\\\n**release date:** 2026-05-08\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.4...n8n@2.20.5) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.4) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.2...n8n@2.20.3) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.20.0...n8n@2.20.1) for this version.\\\n**release date:** 2026-05-06\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.20.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**release date:** 2026-05-05\n\nthis release contains bug fixes and features.\n\n### microsoft agent 365 trigger node\n\nthe [microsoft agent 365 trigger node](../integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.microsoftagent365trigger/) lets you build n8n agents that show up as members of your team inside microsoft 365 apps. once deployed, your agent gets its own identity in your microsoft tenant, with an email address you can @mention in teams, send email to, or grant permissions to a sharepoint site, just like a teammate.\n\na microsoft agent 365 trigger node with a chat model, memory, and tools across zendesk, salesforce, pagerduty, datadog, and a sub-workflow.\n\n#### how it works\n\nyou build the agent in n8n using the microsoft agent 365 trigger node:\n\n- add a system prompt and give the agent access to tools, mcp servers, and your existing workflows using [sub-workflows as tools](../flow-logic/subworkflows/).\n- set up the agent on the microsoft side (see the [microsoft agent 365 documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/) for the configuration steps). this gives the agent an entra id identity with an email address that you can @mention, email, or grant sharepoint permissions to.\n- microsoft handles identity, lifecycle, security, and compliance for the agent on their side (via entra id, purview, and defender). n8n handles workflow-level governance like rbac, credential management, and execution logs.\n\n#### things to keep in mind\n\n- if you already use n8n with microsoft services through individual nodes (outlook, teams, sharepoint, and so on), those workflows continue to work as before. agent 365 is a new path for teams that want their agents to show up *inside* microsoft apps and interact like a member of the team.\n- the node requires a microsoft 365 tenant.\n\nfor the full launch story, see the [n8n blog post](https://blog.n8n.io/deploy-n8n-agents-that-show-up-as-members-of-the-team-inside-microsoft-apps/).\n\n### contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingzz](https://github.com/haimingzz)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[omc12](https://github.com/omc12)\\\n[gulianrdgd](https://github.com/gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.4...n8n@2.19.5) for this version.\\\n**release date:** 2026-05-07\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.3...n8n@2.19.4) for this version.\\\n**release date:** 2026-05-06\n\nthis release contains bug fixes.\n\n## n8n@2.19.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.2...n8n@2.19.3) for this version.\\\n**release date:** 2026-05-0",
|
|
2934
2934
|
"importantTerms": [
|
|
2935
2935
|
"github",
|
|
2936
2936
|
"release",
|
|
@@ -16825,7 +16825,7 @@
|
|
|
16825
16825
|
"nodeName": null,
|
|
16826
16826
|
"nodeType": null,
|
|
16827
16827
|
"content": {
|
|
16828
|
-
"markdown": "# Docker Installation\n\nn8n recommends using [Docker](https://www.docker.com/) for most self-hosting needs. It provides a clean, isolated environment, avoids operating system and tooling incompatibilities, and makes database and environment management simpler.\n\nYou can also use n8n in Docker with [Docker Compose](../server-setups/docker-compose/). You can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nYou can also follow along with our video guide here:\n\n## Prerequisites\n\nBefore proceeding, install Docker:\n\n- [Docker Desktop](https://docs.docker.com/get-docker/) is available for Mac, Windows, and Linux. Docker Desktop includes the Docker Engine and Docker Compose.\n- [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/linux/) are also available as separate packages for Linux. Use this for Linux machines without a graphical environment or when you don't want the Docker Desktop UI.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
16828
|
+
"markdown": "# Docker Installation\n\nn8n recommends using [Docker](https://www.docker.com/) for most self-hosting needs. It provides a clean, isolated environment, avoids operating system and tooling incompatibilities, and makes database and environment management simpler.\n\nYou can also use n8n in Docker with [Docker Compose](../server-setups/docker-compose/). You can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nYou can also follow along with our video guide here:\n\n## Prerequisites\n\nBefore proceeding, install Docker:\n\n- [Docker Desktop](https://docs.docker.com/get-docker/) is available for Mac, Windows, and Linux. Docker Desktop includes the Docker Engine and Docker Compose.\n- [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/linux/) are also available as separate packages for Linux. Use this for Linux machines without a graphical environment or when you don't want the Docker Desktop UI.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Starting n8n\n\nFrom your terminal, run the following commands, replacing the `<YOUR_TIMEZONE>` placeholders with [your timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List):\n\n```\ndocker volume create n8n_data\n\ndocker run -it --rm \\\n --name n8n \\\n -p 5678:5678 \\\n -e GENERIC_TIMEZONE=\"<YOUR_TIMEZONE>\" \\\n -e TZ=\"<YOUR_TIMEZONE>\" \\\n -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \\\n -e N8N_RUNNERS_ENABLED=true \\\n -v n8n_data:/home/node/.n8n \\\n docker.n8n.io/n8nio/n8n\n```\n\nThis command creates a volume to store persistent data, downloads the required n8n image, and starts the container with the following settings:\n\n- Maps and exposes port `5678` on the host.\n- Sets the timezone for the container:\n - the `TZ` environment variable sets the system timezone to control what scripts and commands like `date` return.\n - the [`GENERIC_TIMEZONE` environment variable](../../configuration/environment-variables/timezone-localization/) sets the correct timezone for schedule-oriented nodes like the [Schedule Trigger node](../../../integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/).\n- Enforces secure file permissions for the n8n configuration file.\n- Enables [task runners](../../configuration/task-runners/), the recommended way of executing tasks in n8n.\n- Mounts the `n8n_data` volume to the `/home/node/.n8n` directory to persist your data across container restarts.\n\nOnce running, you can access n8n by opening: <http://localhost:5678>\n\n## Using with PostgreSQL\n\nBy default, n8n uses SQLite to save [credentials](../../../glossary/#credential-n8n), past executions, and workflows. n8n also supports PostgreSQL, configurable using environment variables as detailed below.\n\nPersisting the `.n8n` directory still recommended\n\nWhen using PostgreSQL, n8n doesn't need to use the `.n8n` directory for the SQLite database file. However, the directory still contains other important data like encryption keys, instance logs, and source control feature assets. While you can work around some of these requirements, (for example, by setting the [`N8N_ENCRYPTION_KEY` environment variable](../../configuration/environment-variables/deployment/)), it's best to continue mapping a persistent volume for the directory to avoid potential issues.\n\nTo use n8n with PostgreSQL, execute the following commands, replacing the placeholders (depicted within angled brackets, for example `<POSTGRES_USER>`) with your actual values:\n\n```\ndocker volume create n8n_data\n\ndocker run -it --rm \\\n --name n8n \\\n -p 5678:5678 \\\n -e GENERIC_TIMEZONE=\"<YOUR_TIMEZONE>\" \\\n -e TZ=\"<YOUR_TIMEZONE>\" \\\n -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \\\n -e N8N_RUNNERS_ENABLED=true \\\n -e DB_TYPE=postgresdb \\\n -e DB_POSTGRESDB_DATABASE=<POSTGRES_DATABASE> \\\n -e DB_POSTGRESDB_HOST=<POSTGRES_HOST> \\\n -e DB_POSTGRESDB_PORT=<POSTGRES_PORT> \\\n -e DB_POSTGRESDB_USER=<POSTGRES_USER> \\\n -e DB_POSTGRESDB_SCHEMA=<POSTGRES_SCHEMA> \\\n -e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \\\n -v n8n_data:/home/node/.n8n \\\n docker.n8n.io/n8nio/n8n\n```\n\nYou can find a complete `docker-compose` file for PostgreSQL in the [n8n hosting repository](https://github.com/n8n-io/n8n-hosting/tree/main/docker-compose/withPostgres).\n\n## Updating\n\nTo update n8n, in Docker Desktop, navigate to the **Images** tab and select **Pull** from the context menu to download the latest n8n image:\n\nYou can also use the command line to pull the latest, or a specific version:\n\n```\n# Pull latest (stable) version\ndocker pull docker.n8n.io/n8nio/n8n\n\n# Pull specific version\ndocker pull docker.n8n.io/n8nio/n8n:1.81.0\n\n# Pull next (unstable) version\ndocker pull docker.n8n.io/n8nio/n8n:next\n```\n\nAfter pulling the updated image, stop your n8n container and start it again. You can also use the command line. Replace `<container_id>` in the commands below with the container ID you find in the first command:\n\n```\n# Find your container ID\ndocker ps -a\n\n# Stop the container with the `<container_id>`\ndocker stop <container_id>\n\n# Remove the container with the `<container_id>`\ndocker rm <container_id>\n\n# Start the container\ndocker run --name=<container_name> [options] -d docker.n8n.io/n8nio/n8n\n```\n\n### Updating Docker Compose\n\nIf you run n8n using a Docker Compose file, follow these steps to update n8n:\n\n```\n# Navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# Pull latest version\ndocker compose pull\n\n# Stop and remove older version\ndocker compose down\n\n# Start the container\ndocker compose up -d\n```\n\n## n8n with tunnel\n\nDanger\n\nUse this for local development and testing. It isn't safe to use it in production.\n\nDevelopment tooling\n\nThe tunnel feature is a convenience tool for local development. The underlying implementation may change between n8n versions.\n\nTo use webhooks for trigger nodes of external services like GitHub, n8n has to be reachable from the web. n8n provides a tunnel service using [cloudflared](https://github.com/cloudflare/cloudflared) that redirects requests from the web to your local n8n instance. Docker must be installed for the tunnel to work.\n\nThere are two ways to use the tunnel, depending on how you run n8n:\n\n### Full stack\n\nThis runs n8n and cloudflared together in containers. The tunnel URL prints on startup and everything is wired automatically:\n\n```\npnpm stack --tunnel\n```\n\n### Services only\n\nIf you prefer to run n8n locally with `pnpm dev` or `pnpm start`, you can start cloudflared as a standalone service:\n\n```\n# Terminal 1: Start the cloudflared tunnel service\npnpm --filter n8n-containers services --services cloudflared\n\n# Terminal 2: Start n8n locally\npnpm dev\n```\n\nThe `services` command:\n\n1. Starts cloudflared pointing at `host.docker.internal:5678` (your local n8n).\n1. Fetches the public tunnel URL from cloudflared's metrics endpoint.\n1. Writes a `.env` file to `packages/cli/bin/.env` with `WEBHOOK_URL` and `N8N_PROXY_HOPS=1`.\n1. `pnpm dev` and `pnpm start` pick up that `.env` automatically via dotenv.\n\nClean up when done:\n\n```\npnpm --filter n8n-containers services:clean\n```\n\n## Next steps\n\n- Find more information about Docker setup in the README file for the [Docker image](https://github.com/n8n-io/n8n/tree/master/docker/images/n8n).\n- Learn more about [configuring](../../configuration/environment-variables/) and [scaling](../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../try-it-out/).\n",
|
|
16829
16829
|
"excerpt": "# Docker Installation n8n recommends using [Docker](https://www.docker.com/) for most self-hosting needs. It provides a clean, isolated environment, avoids operating system and tooling incompatibilities, and makes database and environment management simpler. You can also use n8n in Docker with [Docker Compose](../server-setups/docker-compose/). You can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting). Self-host...",
|
|
16830
16830
|
"sections": [
|
|
16831
16831
|
{
|
|
@@ -16951,7 +16951,7 @@
|
|
|
16951
16951
|
"relatedPages": []
|
|
16952
16952
|
},
|
|
16953
16953
|
"searchIndex": {
|
|
16954
|
-
"fullText": "docker # docker installation\n\nn8n recommends using [docker](https://www.docker.com/) for most self-hosting needs. it provides a clean, isolated environment, avoids operating system and tooling incompatibilities, and makes database and environment management simpler.\n\nyou can also use n8n in docker with [docker compose](../server-setups/docker-compose/). you can find docker compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nyou can also follow along with our video guide here:\n\n## prerequisites\n\nbefore proceeding, install docker:\n\n- [docker desktop](https://docs.docker.com/get-docker/) is available for mac, windows, and linux. docker desktop includes the docker engine and docker compose.\n- [docker engine](https://docs.docker.com/engine/install/) and [docker compose](https://docs.docker.com/compose/install/linux/) are also available as separate packages for linux. use this for linux machines without a graphical environment or when you don't want the docker desktop ui.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
16954
|
+
"fullText": "docker # docker installation\n\nn8n recommends using [docker](https://www.docker.com/) for most self-hosting needs. it provides a clean, isolated environment, avoids operating system and tooling incompatibilities, and makes database and environment management simpler.\n\nyou can also use n8n in docker with [docker compose](../server-setups/docker-compose/). you can find docker compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nyou can also follow along with our video guide here:\n\n## prerequisites\n\nbefore proceeding, install docker:\n\n- [docker desktop](https://docs.docker.com/get-docker/) is available for mac, windows, and linux. docker desktop includes the docker engine and docker compose.\n- [docker engine](https://docs.docker.com/engine/install/) and [docker compose](https://docs.docker.com/compose/install/linux/) are also available as separate packages for linux. use this for linux machines without a graphical environment or when you don't want the docker desktop ui.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## starting n8n\n\nfrom your terminal, run the following commands, replacing the `<your_timezone>` placeholders with [your timezone](https://en.wikipedia.org/wiki/list_of_tz_database_time_zones#list):\n\n```\ndocker volume create n8n_data\n\ndocker run -it --rm \\\n --name n8n \\\n -p 5678:5678 \\\n -e generic_timezone=\"<your_timezone>\" \\\n -e tz=\"<your_timezone>\" \\\n -e n8n_enforce_settings_file_permissions=true \\\n -e n8n_runners_enabled=true \\\n -v n8n_data:/home/node/.n8n \\\n docker.n8n.io/n8nio/n8n\n```\n\nthis command creates a volume to store persistent data, downloads the required n8n image, and starts the container with the following settings:\n\n- maps and exposes port `5678` on the host.\n- sets the timezone for the container:\n - the `tz` environment variable sets the system timezone to control what scripts and commands like `date` return.\n - the [`generic_timezone` environment variable](../../configuration/environment-variables/timezone-localization/) sets the correct timezone for schedule-oriented nodes like the [schedule trigger node](../../../integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/).\n- enforces secure file permissions for the n8n configuration file.\n- enables [task runners](../../configuration/task-runners/), the recommended way of executing tasks in n8n.\n- mounts the `n8n_data` volume to the `/home/node/.n8n` directory to persist your data across container restarts.\n\nonce running, you can access n8n by opening: <http://localhost:5678>\n\n## using with postgresql\n\nby default, n8n uses sqlite to save [credentials](../../../glossary/#credential-n8n), past executions, and workflows. n8n also supports postgresql, configurable using environment variables as detailed below.\n\npersisting the `.n8n` directory still recommended\n\nwhen using postgresql, n8n doesn't need to use the `.n8n` directory for the sqlite database file. however, the directory still contains other important data like encryption keys, instance logs, and source control feature assets. while you can work around some of these requirements, (for example, by setting the [`n8n_encryption_key` environment variable](../../configuration/environment-variables/deployment/)), it's best to continue mapping a persistent volume for the directory to avoid potential issues.\n\nto use n8n with postgresql, execute the following commands, replacing the placeholders (depicted within angled brackets, for example `<postgres_user>`) with your actual values:\n\n```\ndocker volume create n8n_data\n\ndocker run -it --rm \\\n --name n8n \\\n -p 5678:5678 \\\n -e generic_timezone=\"<your_timezone>\" \\\n -e tz=\"<your_timezone>\" \\\n -e n8n_enforce_settings_file_permissions=true \\\n -e n8n_runners_enabled=true \\\n -e db_type=postgresdb \\\n -e db_postgresdb_database=<postgres_database> \\\n -e db_postgresdb_host=<postgres_host> \\\n -e db_postgresdb_port=<postgres_port> \\\n -e db_postgresdb_user=<postgres_user> \\\n -e db_postgresdb_schema=<postgres_schema> \\\n -e db_postgresdb_password=<postgres_password> \\\n -v n8n_data:/home/node/.n8n \\\n docker.n8n.io/n8nio/n8n\n```\n\nyou can find a complete `docker-compose` file for postgresql in the [n8n hosting repository](https://github.com/n8n-io/n8n-hosting/tree/main/docker-compose/withpostgres).\n\n## updating\n\nto update n8n, in docker desktop, navigate to the **images** tab and select **pull** from the context menu to download the latest n8n image:\n\nyou can also use the command line to pull the latest, or a specific version:\n\n```\n# pull latest (stable) version\ndocker pull docker.n8n.io/n8nio/n8n\n\n# pull specific version\ndocker pull docker.n8n.io/n8nio/n8n:1.81.0\n\n# pull next (unstable) version\ndocker pull docker.n8n.io/n8nio/n8n:next\n```\n\nafter pulling the updated image, stop your n8n container and start it again. you can also use the command line. replace `<container_id>` in the commands below with the container id you find in the first command:\n\n```\n# find your container id\ndocker ps -a\n\n# stop the container with the `<container_id>`\ndocker stop <container_id>\n\n# remove the container with the `<container_id>`\ndocker rm <container_id>\n\n# start the container\ndocker run --name=<container_name> [options] -d docker.n8n.io/n8nio/n8n\n```\n\n### updating docker compose\n\nif you run n8n using a docker compose file, follow these steps to update n8n:\n\n```\n# navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# pull latest version\ndocker compose pull\n\n# stop and remove older version\ndocker compose down\n\n# start the container\ndocker compose up -d\n```\n\n## n8n with tunnel\n\ndanger\n\nuse this for local development and testing. it isn't safe to use it in production.\n\ndevelopment tooling\n\nthe tunnel feature is a convenience tool for local development. the underlying implementation may change between n8n versions.\n\nto use webhooks for trigger nodes of external services like github, n8n has to be reachable from the web. n8n provides a tunnel service using [cloudflared](https://github.com/cloudflare/cloudflared) that redirects requests from the web to your local n8n instance. docker must be installed for the tunnel to work.\n\nthere are two ways to use the tunnel, depending on how you run n8n:\n\n### full stack\n\nthis runs n8n and cloudflared together in containers. the tunnel url prints on startup and everything is wired automatically:\n\n```\npnpm stack --tunnel\n```\n\n### services only\n\nif you prefer to run n8n locally with `pnpm dev` or `pnpm start`, you can start cloudflared as a standalone service:\n\n```\n# terminal 1: start the cloudflared tunnel service\npnpm --filter n8n-containers services --services cloudflared\n\n# terminal 2: start n8n locally\npnpm dev\n```\n\nthe `services` command:\n\n1. starts cloudflared pointing at `host.docker.internal:5678` (your local n8n).\n1. fetches the public tunnel url from cloudflared's metrics endpoint.\n1. writes a `.env` file to `packages/cli/bin/.env` with `webhook_url` and `n8n_proxy_hops=1`.\n1. `pnpm dev` and `pnpm start` pick up that `.env` automatically via dotenv.\n\nclean up when done:\n\n```\npnpm --filter n8n-containers services:clean\n```\n\n## next steps\n\n- find more information about docker setup in the readme file for the [docker image](https://github.com/n8n-io/n8n/tree/master/docker/images/n8n).\n- learn more about [configuring](../../configuration/environment-variables/) and [scaling](../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../try-it-out/).\n docker installation pull latest (stable) version pull specific version pull next (unstable) version find your container id stop the container with the `<container_id>` remove the container with the `<container_id>` start the container navigate to the directory containing your docker compose file pull latest version stop and remove older version start the container terminal 1: start the cloudflared tunnel service terminal 2: start n8n locally",
|
|
16955
16955
|
"importantTerms": [
|
|
16956
16956
|
"docker",
|
|
16957
16957
|
"compose",
|
|
@@ -17016,13 +17016,13 @@
|
|
|
17016
17016
|
"nodeName": null,
|
|
17017
17017
|
"nodeType": null,
|
|
17018
17018
|
"content": {
|
|
17019
|
-
"markdown": "# npm\n\nnpm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17020
|
-
"excerpt": "# npm npm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive. Stable and Beta versions n8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12). Current `stable`: 2.21.
|
|
17019
|
+
"markdown": "# npm\n\nnpm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Try n8n with npx\n\nYou can try n8n without installing it using npx.\n\nFrom the terminal, run:\n\n```\nnpx n8n\n```\n\nThis command will download everything that's needed to start n8n. You can then access n8n and start building workflows by opening <http://localhost:5678>.\n\n## Install globally with npm\n\nTo install n8n globally, use npm:\n\n```\nnpm install n8n -g\n```\n\nTo install or update to a specific version of n8n use the `@` syntax to specify the version. For example:\n\n```\nnpm install -g n8n@0.126.1\n```\n\nTo install `next`:\n\n```\nnpm install -g n8n@next\n```\n\nAfter the installation, start n8n by running:\n\n```\nn8n\n# or\nn8n start\n```\n\n### Next steps\n\nTry out n8n using the [Quickstarts](../../../try-it-out/).\n\n## Updating\n\nTo update your n8n instance to the `latest` version, run:\n\n```\nnpm update -g n8n\n```\n\nTo install the `next` version:\n\n```\nnpm install -g n8n@next\n```\n\n## n8n with tunnel\n\nDanger\n\nUse this for local development and testing. It isn't safe to use it in production.\n\nDevelopment tooling\n\nThe tunnel feature is a convenience tool for local development. The underlying implementation may change between n8n versions.\n\nTo use webhooks for trigger nodes of external services like GitHub, n8n has to be reachable from the web. n8n provides a tunnel service using [cloudflared](https://github.com/cloudflare/cloudflared) that redirects requests from the web to your local n8n instance. Docker must be installed for the tunnel to work.\n\nThere are two ways to use the tunnel, depending on how you run n8n:\n\nDocker required\n\nThe tunnel uses cloudflared, which runs as a Docker container. Make sure [Docker](https://docs.docker.com/get-docker/) is installed on your machine, even when running n8n via npm.\n\nFor npm installations, use the **services only** approach. Start cloudflared as a standalone service, then run n8n locally:\n\n```\n# Terminal 1: Start the cloudflared tunnel service\npnpm --filter n8n-containers services --services cloudflared\n\n# Terminal 2: Start n8n locally\npnpm dev\n```\n\nThe `services` command starts cloudflared, fetches the public tunnel URL, and writes a `.env` file to `packages/cli/bin/.env` with `WEBHOOK_URL` and `N8N_PROXY_HOPS=1`. n8n picks up this `.env` automatically on startup.\n\nClean up when done:\n\n```\npnpm --filter n8n-containers services:clean\n```\n\nFor the full stack approach (n8n and cloudflared both in containers), refer to the [Docker tunnel setup](../docker/#n8n-with-tunnel).\n\n## Reverting an upgrade\n\nInstall the older version that you want to go back to.\n\nIf the upgrade involved a database migration:\n\n1. Check the feature documentation and release notes to see if there are any manual changes you need to make.\n1. Run `n8n db:revert` on your current version to roll back the database. If you want to revert more than one database migration, you need to repeat this process.\n\n## Windows troubleshooting\n\nIf you are experiencing issues running n8n on Windows, make sure your Node.js environment is correctly set up. Follow Microsoft's guide to [Install NodeJS on Windows](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).\n",
|
|
17020
|
+
"excerpt": "# npm npm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive. Stable and Beta versions n8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12). Current `stable`: 2.21.5 Current `beta...",
|
|
17021
17021
|
"sections": [
|
|
17022
17022
|
{
|
|
17023
17023
|
"title": "npm",
|
|
17024
17024
|
"level": 1,
|
|
17025
|
-
"content": "npm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17025
|
+
"content": "npm is a quick way to get started with n8n on your local machine. You must have [Node.js](https://nodejs.org/en/) installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0"
|
|
17026
17026
|
},
|
|
17027
17027
|
{
|
|
17028
17028
|
"title": "or",
|
|
@@ -17069,7 +17069,7 @@
|
|
|
17069
17069
|
"relatedPages": []
|
|
17070
17070
|
},
|
|
17071
17071
|
"searchIndex": {
|
|
17072
|
-
"fullText": "npm # npm\n\nnpm is a quick way to get started with n8n on your local machine. you must have [node.js](https://nodejs.org/en/) installed. n8n requires a node.js version between 20.19 and 24.x, inclusive.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17072
|
+
"fullText": "npm # npm\n\nnpm is a quick way to get started with n8n on your local machine. you must have [node.js](https://nodejs.org/en/) installed. n8n requires a node.js version between 20.19 and 24.x, inclusive.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## try n8n with npx\n\nyou can try n8n without installing it using npx.\n\nfrom the terminal, run:\n\n```\nnpx n8n\n```\n\nthis command will download everything that's needed to start n8n. you can then access n8n and start building workflows by opening <http://localhost:5678>.\n\n## install globally with npm\n\nto install n8n globally, use npm:\n\n```\nnpm install n8n -g\n```\n\nto install or update to a specific version of n8n use the `@` syntax to specify the version. for example:\n\n```\nnpm install -g n8n@0.126.1\n```\n\nto install `next`:\n\n```\nnpm install -g n8n@next\n```\n\nafter the installation, start n8n by running:\n\n```\nn8n\n# or\nn8n start\n```\n\n### next steps\n\ntry out n8n using the [quickstarts](../../../try-it-out/).\n\n## updating\n\nto update your n8n instance to the `latest` version, run:\n\n```\nnpm update -g n8n\n```\n\nto install the `next` version:\n\n```\nnpm install -g n8n@next\n```\n\n## n8n with tunnel\n\ndanger\n\nuse this for local development and testing. it isn't safe to use it in production.\n\ndevelopment tooling\n\nthe tunnel feature is a convenience tool for local development. the underlying implementation may change between n8n versions.\n\nto use webhooks for trigger nodes of external services like github, n8n has to be reachable from the web. n8n provides a tunnel service using [cloudflared](https://github.com/cloudflare/cloudflared) that redirects requests from the web to your local n8n instance. docker must be installed for the tunnel to work.\n\nthere are two ways to use the tunnel, depending on how you run n8n:\n\ndocker required\n\nthe tunnel uses cloudflared, which runs as a docker container. make sure [docker](https://docs.docker.com/get-docker/) is installed on your machine, even when running n8n via npm.\n\nfor npm installations, use the **services only** approach. start cloudflared as a standalone service, then run n8n locally:\n\n```\n# terminal 1: start the cloudflared tunnel service\npnpm --filter n8n-containers services --services cloudflared\n\n# terminal 2: start n8n locally\npnpm dev\n```\n\nthe `services` command starts cloudflared, fetches the public tunnel url, and writes a `.env` file to `packages/cli/bin/.env` with `webhook_url` and `n8n_proxy_hops=1`. n8n picks up this `.env` automatically on startup.\n\nclean up when done:\n\n```\npnpm --filter n8n-containers services:clean\n```\n\nfor the full stack approach (n8n and cloudflared both in containers), refer to the [docker tunnel setup](../docker/#n8n-with-tunnel).\n\n## reverting an upgrade\n\ninstall the older version that you want to go back to.\n\nif the upgrade involved a database migration:\n\n1. check the feature documentation and release notes to see if there are any manual changes you need to make.\n1. run `n8n db:revert` on your current version to roll back the database. if you want to revert more than one database migration, you need to repeat this process.\n\n## windows troubleshooting\n\nif you are experiencing issues running n8n on windows, make sure your node.js environment is correctly set up. follow microsoft's guide to [install nodejs on windows](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).\n npm or terminal 1: start the cloudflared tunnel service terminal 2: start n8n locally",
|
|
17073
17073
|
"importantTerms": [
|
|
17074
17074
|
"install",
|
|
17075
17075
|
"tunnel",
|
|
@@ -17208,7 +17208,7 @@
|
|
|
17208
17208
|
"nodeName": null,
|
|
17209
17209
|
"nodeType": null,
|
|
17210
17210
|
"content": {
|
|
17211
|
-
"markdown": "# Hosting n8n on Amazon Web Services\n\nThis hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy.\n\n## Hosting options\n\nAWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes).\n\nThis guide uses [EKS](https://aws.amazon.com/eks/) as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\n## Prerequisites\n\nThe steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io).\n\nWhile not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17211
|
+
"markdown": "# Hosting n8n on Amazon Web Services\n\nThis hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy.\n\n## Hosting options\n\nAWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes).\n\nThis guide uses [EKS](https://aws.amazon.com/eks/) as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\n## Prerequisites\n\nThe steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io).\n\nWhile not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Create a cluster\n\nUse the eksctl tool to create a cluster specifying a name and a region with the following command:\n\n```\neksctl create cluster --name n8n --region <your-aws-region>\n```\n\nThis can take a while to create the cluster.\n\nOnce the cluster is created, eksctl automatically sets the kubectl context to the cluster.\n\n## Clone configuration repository\n\nKubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-hosting). The following steps tell you what each file does, and what settings you need to change.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nAnd change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## Configure Postgres\n\nFor larger scale n8n deployments, Postgres provides a more robust database backend than SQLite.\n\n### Configure volume for persistent storage\n\nTo maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, [gp3](https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-ebs-volume-type), is suitable for this purpose. This is defined in the `postgres-claim0-persistentvolumeclaim.yaml` manifest.\n\n```\n…\nspec:\n storageClassName: gp3\n accessModes:\n - ReadWriteOnce\n…\n```\n\n### Postgres environment variables\n\nPostgres needs some environment variables set to pass to the application running in the containers.\n\nThe example `postgres-secret.yaml` file contains placeholders you need to replace with values of your own for user details and the database to use.\n\nPostgreSQL uses a root user (`POSTGRES_USER`) for setup and administration, but it’s best practice to create a separate non-root user (`POSTGRES_NON_ROOT_USER`) for n8n. The root user has full control, while n8n only needs the non-root user permissions to run. Configuring both improves security and helps prevent accidental changes to the database system.\n\nThe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## Configure n8n\n\n### Create a volume for file storage\n\nWhile not essential for running n8n, using persistent volumes helps maintain files uploaded while using n8n and if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts, which saves a file containing the key into file storage during startup.\n\nThe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentVolumeClaim:\n claimName: n8n-claim0\n…\n```\n\n### Pod resources\n\n[Kubernetes](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) lets you specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:\n\n```\n…\nresources:\n requests:\n memory: \"250Mi\"\n limits:\n memory: \"500Mi\"\n…\n```\n\nThis defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings:\n\n- **Start**: 320mb RAM, 10 millicore CPU burstable\n- **Pro (10k executions)**: 640mb RAM, 20 millicore CPU burstable\n- **Pro (50k executions)**: 1280mb RAM, 80 millicore CPU burstable\n\n### Optional: Environment variables\n\nYou can configure n8n settings and behaviors using environment variables.\n\nCreate an `n8n-secret.yaml` file. Refer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## Deployments\n\nThe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes.\n\nThe manifests define the following:\n\n- Send the environment variables defined to each application pod\n- Define the container image to use\n- Set resource consumption limits\n- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes.\n- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs.\n\n## Services\n\nThe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively by default.\n\n## Send to Kubernetes cluster\n\nSend all the manifests to the cluster by running the following command in the `n8n-kubernetes-hosting` directory:\n\n```\nkubectl apply -f .\n```\n\nNamespace error\n\nYou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static address of the instance.\n\nTo find the address of the n8n service running on the instance:\n\n1. Open the **Clusters** section of the **Amazon Elastic Kubernetes Service** page in the AWS console.\n1. Select the name of the cluster to open its configuration page.\n1. Select the **Resources** tab, then **Service and networking** > **Services**.\n1. Select the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS.\n\nUse HTTP\n\nThis guide uses HTTP connections for the services it defines, for example in `n8n-deployment.yaml`. However, if you click the **Load balancer URLs** value, EKS takes you to an \"HTTPS\" URL which results in an error. To solve this, when you open the n8n subdomain, make sure to use HTTP.\n\n## Delete resources\n\nIf you need to delete the setup, you can remove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
17212
17212
|
"excerpt": "# Hosting n8n on Amazon Web Services This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. ## Hosting options AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). This guide uses [EKS](https://aws.amazon.com/eks/) as the hosting option. Using Kubernetes requires some addit...",
|
|
17213
17213
|
"sections": [
|
|
17214
17214
|
{
|
|
@@ -17256,7 +17256,7 @@
|
|
|
17256
17256
|
"relatedPages": []
|
|
17257
17257
|
},
|
|
17258
17258
|
"searchIndex": {
|
|
17259
|
-
"fullText": "amazon web services # hosting n8n on amazon web services\n\nthis hosting guide shows you how to self-host n8n with amazon web services (aws). it uses n8n with postgres as a database backend using kubernetes to manage the necessary resources and reverse proxy.\n\n## hosting options\n\naws offers several ways suitable for hosting n8n, including ec2 (virtual machines), and eks (containers running with kubernetes).\n\nthis guide uses [eks](https://aws.amazon.com/eks/) as the hosting option. using kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\n## prerequisites\n\nthe steps in this guide use a mix of the aws ui and [the eksctl cli tool for eks](https://eksctl.io).\n\nwhile not mentioned in the documentation for eksctl, you also need to [install the aws cli tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17259
|
+
"fullText": "amazon web services # hosting n8n on amazon web services\n\nthis hosting guide shows you how to self-host n8n with amazon web services (aws). it uses n8n with postgres as a database backend using kubernetes to manage the necessary resources and reverse proxy.\n\n## hosting options\n\naws offers several ways suitable for hosting n8n, including ec2 (virtual machines), and eks (containers running with kubernetes).\n\nthis guide uses [eks](https://aws.amazon.com/eks/) as the hosting option. using kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\n## prerequisites\n\nthe steps in this guide use a mix of the aws ui and [the eksctl cli tool for eks](https://eksctl.io).\n\nwhile not mentioned in the documentation for eksctl, you also need to [install the aws cli tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## create a cluster\n\nuse the eksctl tool to create a cluster specifying a name and a region with the following command:\n\n```\neksctl create cluster --name n8n --region <your-aws-region>\n```\n\nthis can take a while to create the cluster.\n\nonce the cluster is created, eksctl automatically sets the kubectl context to the cluster.\n\n## clone configuration repository\n\nkubernetes and n8n require a series of configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-hosting). the following steps tell you what each file does, and what settings you need to change.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nand change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## configure postgres\n\nfor larger scale n8n deployments, postgres provides a more robust database backend than sqlite.\n\n### configure volume for persistent storage\n\nto maintain data between pod restarts, the postgres deployment needs a persistent volume. the default aws storage class, [gp3](https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-ebs-volume-type), is suitable for this purpose. this is defined in the `postgres-claim0-persistentvolumeclaim.yaml` manifest.\n\n```\n…\nspec:\n storageclassname: gp3\n accessmodes:\n - readwriteonce\n…\n```\n\n### postgres environment variables\n\npostgres needs some environment variables set to pass to the application running in the containers.\n\nthe example `postgres-secret.yaml` file contains placeholders you need to replace with values of your own for user details and the database to use.\n\npostgresql uses a root user (`postgres_user`) for setup and administration, but it’s best practice to create a separate non-root user (`postgres_non_root_user`) for n8n. the root user has full control, while n8n only needs the non-root user permissions to run. configuring both improves security and helps prevent accidental changes to the database system.\n\nthe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## configure n8n\n\n### create a volume for file storage\n\nwhile not essential for running n8n, using persistent volumes helps maintain files uploaded while using n8n and if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts, which saves a file containing the key into file storage during startup.\n\nthe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentvolumeclaim:\n claimname: n8n-claim0\n…\n```\n\n### pod resources\n\n[kubernetes](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) lets you specify the minimum resources application containers need and the limits they can run to. the example yaml files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:\n\n```\n…\nresources:\n requests:\n memory: \"250mi\"\n limits:\n memory: \"500mi\"\n…\n```\n\nthis defines a minimum of 250mb per container, a maximum of 500mb, and lets kubernetes handle cpu. you can change these values to match your own needs. as a guide, here are the resources values for the n8n cloud offerings:\n\n- **start**: 320mb ram, 10 millicore cpu burstable\n- **pro (10k executions)**: 640mb ram, 20 millicore cpu burstable\n- **pro (50k executions)**: 1280mb ram, 80 millicore cpu burstable\n\n### optional: environment variables\n\nyou can configure n8n settings and behaviors using environment variables.\n\ncreate an `n8n-secret.yaml` file. refer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## deployments\n\nthe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and postgres applications to kubernetes.\n\nthe manifests define the following:\n\n- send the environment variables defined to each application pod\n- define the container image to use\n- set resource consumption limits\n- the `volumes` defined earlier and `volumemounts` to define the path in the container to mount volumes.\n- scaling and restart policies. the example manifests define one instance of each pod. you should change this to meet your needs.\n\n## services\n\nthe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the kubernetes load balancer using ports 5432 and 5678 respectively by default.\n\n## send to kubernetes cluster\n\nsend all the manifests to the cluster by running the following command in the `n8n-kubernetes-hosting` directory:\n\n```\nkubectl apply -f .\n```\n\nnamespace error\n\nyou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. you can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to a static address of the instance.\n\nto find the address of the n8n service running on the instance:\n\n1. open the **clusters** section of the **amazon elastic kubernetes service** page in the aws console.\n1. select the name of the cluster to open its configuration page.\n1. select the **resources** tab, then **service and networking** > **services**.\n1. select the **n8n** service and copy the **load balancer urls** value. use this value suffixed with the n8n service port (5678) for dns.\n\nuse http\n\nthis guide uses http connections for the services it defines, for example in `n8n-deployment.yaml`. however, if you click the **load balancer urls** value, eks takes you to an \"https\" url which results in an error. to solve this, when you open the n8n subdomain, make sure to use http.\n\n## delete resources\n\nif you need to delete the setup, you can remove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on amazon web services",
|
|
17260
17260
|
"importantTerms": [
|
|
17261
17261
|
"this",
|
|
17262
17262
|
"yaml",
|
|
@@ -17321,7 +17321,7 @@
|
|
|
17321
17321
|
"nodeName": null,
|
|
17322
17322
|
"nodeType": null,
|
|
17323
17323
|
"content": {
|
|
17324
|
-
"markdown": "# Hosting n8n on Azure\n\nThis hosting guide shows you how to self-host n8n on Azure. It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy.\n\n## Prerequisites\n\nYou need [The Azure command line tool](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17324
|
+
"markdown": "# Hosting n8n on Azure\n\nThis hosting guide shows you how to self-host n8n on Azure. It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy.\n\n## Prerequisites\n\nYou need [The Azure command line tool](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Hosting options\n\nAzure offers several ways suitable for hosting n8n, including Azure Container Instances (optimized for running containers), Linux Virtual Machines, and Azure Kubernetes Service (containers running with Kubernetes).\n\nThis guide uses the Azure Kubernetes Service (AKS) as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\nThe steps in this guide use a mix of the Azure UI and command line tool, but you can use either to accomplish most tasks.\n\n## Open the Azure Kubernetes Service\n\nFrom [the Azure portal](https://portal.azure.com/) select **Kubernetes services**.\n\n## Create a cluster\n\nFrom the Kubernetes services page, select **Create** > **Create a Kubernetes cluster**.\n\nYou can select any of the configuration options that suit your needs, then select **Create** when done.\n\n## Set Kubectl context\n\nThe remainder of the steps in this guide require you to set the Azure instance as the Kubectl context. You can find the connection details for a cluster instance by opening its details page and then the **Connect** button. The resulting code snippets shows the steps to paste and run into a terminal to change your local Kubernetes settings to use the new cluster.\n\n## Clone configuration repository\n\nKubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-hosting). The following steps tell you which file configures what and what you need to change.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nAnd change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## Configure Postgres\n\nFor larger scale n8n deployments, Postgres provides a more robust database backend than SQLite.\n\n### Configure volume for persistent storage\n\nTo maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default storage class is suitable for this purpose and is defined in the `postgres-claim0-persistentvolumeclaim.yaml` manifest.\n\nSpecialized storage classes\n\nIf you have specialised or higher requirements for storage classes, [read more on the options Azure offers in the documentation](https://learn.microsoft.com/en-us/azure/aks/concepts-storage#storage-classes).\n\n### Postgres environment variables\n\nPostgres needs some environment variables set to pass to the application running in the containers.\n\nThe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. Postgres will use these details when creating the database..\n\nThe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## Configure n8n\n\n### Create a volume for file storage\n\nWhile not essential for running n8n, using persistent volumes is required for:\n\n- Using nodes that interact with files, such as the binary data node.\n- If you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. This saves a file containing the key into file storage during startup.\n\nThe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentVolumeClaim:\n claimName: n8n-claim0\n…\n```\n\n### Pod resources\n\n[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:\n\n```\n…\nresources:\n requests:\n memory: \"250Mi\"\n limits:\n memory: \"500Mi\"\n…\n```\n\nThis defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings:\n\n- **Start**: 320mb RAM, 10 millicore CPU burstable\n- **Pro (10k executions)**: 640mb RAM, 20 millicore CPU burstable\n- **Pro (50k executions)**: 1280mb RAM, 80 millicore CPU burstable\n\n### Optional: Environment variables\n\nYou can configure n8n settings and behaviors using environment variables.\n\nCreate an `n8n-secret.yaml` file. Refer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## Deployments\n\nThe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes.\n\nThe manifests define the following:\n\n- Send the environment variables defined to each application pod\n- Define the container image to use\n- Set resource consumption limits with the `resources` object\n- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes.\n- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs.\n\n## Services\n\nThe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## Send to Kubernetes cluster\n\nSend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nNamespace error\n\nYou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the n8n service. Find the IP address of the n8n service from the **Services & ingresses** menu item of the cluster you want to use under the **External IP** column. You need to add the n8n port, \"5678\" to the URL.\n\nStatic IP addresses with AKS\n\n[Read this tutorial](https://learn.microsoft.com/en-us/azure/aks/static-ip) for more details on how to use a static IP address with AKS.\n\n## Delete resources\n\nRemove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
17325
17325
|
"excerpt": "# Hosting n8n on Azure This hosting guide shows you how to self-host n8n on Azure. It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. ## Prerequisites You need [The Azure command line tool](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) Self-hosting knowledge prerequisites Self-hosting n8n requires technical knowledge, including: - Setting up and configuring servers and containers - Managing application reso...",
|
|
17326
17326
|
"sections": [
|
|
17327
17327
|
{
|
|
@@ -17373,7 +17373,7 @@
|
|
|
17373
17373
|
"relatedPages": []
|
|
17374
17374
|
},
|
|
17375
17375
|
"searchIndex": {
|
|
17376
|
-
"fullText": "azure # hosting n8n on azure\n\nthis hosting guide shows you how to self-host n8n on azure. it uses n8n with postgres as a database backend using kubernetes to manage the necessary resources and reverse proxy.\n\n## prerequisites\n\nyou need [the azure command line tool](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17376
|
+
"fullText": "azure # hosting n8n on azure\n\nthis hosting guide shows you how to self-host n8n on azure. it uses n8n with postgres as a database backend using kubernetes to manage the necessary resources and reverse proxy.\n\n## prerequisites\n\nyou need [the azure command line tool](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## hosting options\n\nazure offers several ways suitable for hosting n8n, including azure container instances (optimized for running containers), linux virtual machines, and azure kubernetes service (containers running with kubernetes).\n\nthis guide uses the azure kubernetes service (aks) as the hosting option. using kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.\n\nthe steps in this guide use a mix of the azure ui and command line tool, but you can use either to accomplish most tasks.\n\n## open the azure kubernetes service\n\nfrom [the azure portal](https://portal.azure.com/) select **kubernetes services**.\n\n## create a cluster\n\nfrom the kubernetes services page, select **create** > **create a kubernetes cluster**.\n\nyou can select any of the configuration options that suit your needs, then select **create** when done.\n\n## set kubectl context\n\nthe remainder of the steps in this guide require you to set the azure instance as the kubectl context. you can find the connection details for a cluster instance by opening its details page and then the **connect** button. the resulting code snippets shows the steps to paste and run into a terminal to change your local kubernetes settings to use the new cluster.\n\n## clone configuration repository\n\nkubernetes and n8n require a series of configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-hosting). the following steps tell you which file configures what and what you need to change.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nand change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## configure postgres\n\nfor larger scale n8n deployments, postgres provides a more robust database backend than sqlite.\n\n### configure volume for persistent storage\n\nto maintain data between pod restarts, the postgres deployment needs a persistent volume. the default storage class is suitable for this purpose and is defined in the `postgres-claim0-persistentvolumeclaim.yaml` manifest.\n\nspecialized storage classes\n\nif you have specialised or higher requirements for storage classes, [read more on the options azure offers in the documentation](https://learn.microsoft.com/en-us/azure/aks/concepts-storage#storage-classes).\n\n### postgres environment variables\n\npostgres needs some environment variables set to pass to the application running in the containers.\n\nthe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. postgres will use these details when creating the database..\n\nthe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## configure n8n\n\n### create a volume for file storage\n\nwhile not essential for running n8n, using persistent volumes is required for:\n\n- using nodes that interact with files, such as the binary data node.\n- if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. this saves a file containing the key into file storage during startup.\n\nthe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentvolumeclaim:\n claimname: n8n-claim0\n…\n```\n\n### pod resources\n\n[kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. the example yaml files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:\n\n```\n…\nresources:\n requests:\n memory: \"250mi\"\n limits:\n memory: \"500mi\"\n…\n```\n\nthis defines a minimum of 250mb per container, a maximum of 500mb, and lets kubernetes handle cpu. you can change these values to match your own needs. as a guide, here are the resources values for the n8n cloud offerings:\n\n- **start**: 320mb ram, 10 millicore cpu burstable\n- **pro (10k executions)**: 640mb ram, 20 millicore cpu burstable\n- **pro (50k executions)**: 1280mb ram, 80 millicore cpu burstable\n\n### optional: environment variables\n\nyou can configure n8n settings and behaviors using environment variables.\n\ncreate an `n8n-secret.yaml` file. refer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## deployments\n\nthe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and postgres applications to kubernetes.\n\nthe manifests define the following:\n\n- send the environment variables defined to each application pod\n- define the container image to use\n- set resource consumption limits with the `resources` object\n- the `volumes` defined earlier and `volumemounts` to define the path in the container to mount volumes.\n- scaling and restart policies. the example manifests define one instance of each pod. you should change this to meet your needs.\n\n## services\n\nthe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## send to kubernetes cluster\n\nsend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nnamespace error\n\nyou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. you can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the n8n service. find the ip address of the n8n service from the **services & ingresses** menu item of the cluster you want to use under the **external ip** column. you need to add the n8n port, \"5678\" to the url.\n\nstatic ip addresses with aks\n\n[read this tutorial](https://learn.microsoft.com/en-us/azure/aks/static-ip) for more details on how to use a static ip address with aks.\n\n## delete resources\n\nremove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on azure",
|
|
17377
17377
|
"importantTerms": [
|
|
17378
17378
|
"azure",
|
|
17379
17379
|
"kubernetes",
|
|
@@ -17438,7 +17438,7 @@
|
|
|
17438
17438
|
"nodeName": null,
|
|
17439
17439
|
"nodeType": null,
|
|
17440
17440
|
"content": {
|
|
17441
|
-
"markdown": "# Hosting n8n on DigitalOcean\n\nThis hosting guide shows you how to self-host n8n on a DigitalOcean droplet. It uses:\n\n- [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Droplet from the internet. Caddy will also automatically create and manage SSL / TLS certificates for your n8n instance.\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17441
|
+
"markdown": "# Hosting n8n on DigitalOcean\n\nThis hosting guide shows you how to self-host n8n on a DigitalOcean droplet. It uses:\n\n- [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Droplet from the internet. Caddy will also automatically create and manage SSL / TLS certificates for your n8n instance.\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Create a Droplet\n\n1. [Log in](https://cloud.digitalocean.com/login) to DigitalOcean.\n1. Select the project to host the Droplet, or [create a new project](https://docs.digitalocean.com/products/projects/how-to/create/).\n1. In your project, select **Droplets** from the **Manage** menu.\n1. [Create a new Droplet](https://docs.digitalocean.com/products/droplets/how-to/create/) using the [Docker image](https://marketplace.digitalocean.com/apps/docker) available on the **Marketplace** tab.\n\nDroplet resources\n\nWhen creating the Droplet, DigitalOcean asks you to choose a plan. For most usage levels, a basic shared CPU plan is enough.\n\nSSH key or Password\n\nDigitalOcean lets you choose between SSH key and password-based authentication. SSH keys are considered more secure.\n\n## Log in to your Droplet and create new user\n\nThe rest of this guide requires you to log in to the Droplet using a terminal with SSH. Refer to [How to Connect to Droplets with SSH](https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/) for more information.\n\nYou should create a new user, to avoid working as the root user:\n\n1. Log in as root.\n\n1. Create a new user:\n\n ```\n adduser <username>\n ```\n\n1. Follow the prompts in the CLI to finish creating the user.\n\n1. Grant the new user administrative privileges:\n\n ```\n usermod -aG sudo <username>\n ```\n\n You can now run commands with superuser privileges by using `sudo` before the command.\n\n1. Follow the steps to set up SSH for the new user: [Add Public Key Authentication](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04#step-four-add-public-key-authentication-recommended).\n\n1. Log out of the droplet.\n\n1. Log in using SSH as the new user.\n\n## Clone configuration repository\n\nDocker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the home folder of the logged-in user on your Droplet. The following steps will tell you which file to change and what changes to make.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-docker-caddy.git\n```\n\nAnd change directory to the root of the repository you cloned:\n\n```\ncd n8n-docker-caddy\n```\n\n## Default folders and files\n\nThe host operating system (the DigitalOcean Droplet) copies the two folders you created to Docker containers to make them available to Docker. The two folders are:\n\n- `caddy_config`: Holds the Caddy configuration files.\n- `local_files`: A folder for files you upload or add using n8n.\n\n### Create Docker volumes\n\nTo persist the Caddy cache between restarts and speed up start times, create [a Docker volume](https://docs.docker.com/storage/volumes/) that Docker reuses between restarts:\n\n```\nsudo docker volume create caddy_data\n```\n\nCreate a Docker volume for the n8n data:\n\n```\nsudo docker volume create n8n_data\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the Droplet. The exact steps for this depend on your DNS provider, but typically you need to create a new \"A\" record for the n8n subdomain. DigitalOcean provide [An Introduction to DNS Terminology, Components, and Concepts](https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts).\n\n## Open ports\n\nn8n runs as a web application, so the Droplet needs to allow incoming access to traffic on port 80 for non-secure traffic, and port 443 for secure traffic.\n\nOpen the following ports in the Droplet's firewall by running the following two commands:\n\n```\nsudo ufw allow 80\nsudo ufw allow 443\n```\n\n## Configure n8n\n\nn8n needs some environment variables set to pass to the application running in the Docker container. The example `.env` file contains placeholders you need to replace with values of your own.\n\nOpen the file with the following command:\n\n```\nnano .env\n```\n\nThe file contains inline comments to help you know what to change.\n\nRefer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## The Docker Compose file\n\nThe Docker Compose file (`docker-compose.yml`) defines the services the application needs, in this case Caddy and n8n.\n\n- The Caddy service definition defines the ports it uses and the local volumes to copy to the containers.\n- The n8n service definition defines the ports it uses, the environment variables n8n needs to run (some defined in the `.env` file), and the volumes it needs to copy to the containers.\n\nThe Docker Compose file uses the environment variables set in the `.env` file, so you shouldn't need to change it's content, but to take a look, run the following command:\n\n```\nnano docker-compose.yml\n```\n\n## Configure Caddy\n\nCaddy needs to know which domains it should serve, and which port to expose to the outside world. Edit the `Caddyfile` file in the `caddy_config` folder.\n\n```\nnano caddy_config/Caddyfile\n```\n\nChange the placeholder domain to yours. If you followed the steps to name the subdomain n8n, your full domain is similar to `n8n.example.com`. The `n8n` in the `reverse_proxy` setting tells Caddy to use the service definition defined in the `docker-compose.yml` file:\n\n```\nn8n.<domain>.<suffix> {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\nIf you were to use `automate.example.com`, your `Caddyfile` may look something like:\n\n```\nautomate.example.com {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\n## Start Docker Compose\n\nStart n8n and Caddy with the following command:\n\n```\nsudo docker compose up -d\n```\n\nThis may take a few minutes.\n\n## Test your setup\n\nIn your browser, open the URL formed of the subdomain and domain name defined earlier. Enter the user name and password defined earlier, and you should be able to access n8n.\n\n## Stop n8n and Caddy\n\nYou can stop n8n and Caddy with the following command:\n\n```\nsudo docker compose stop\n```\n\n## Updating\n\nIf you run n8n using a Docker Compose file, follow these steps to update n8n:\n\n```\n# Navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# Pull latest version\ndocker compose pull\n\n# Stop and remove older version\ndocker compose down\n\n# Start the container\ndocker compose up -d\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
17442
17442
|
"excerpt": "# Hosting n8n on DigitalOcean This hosting guide shows you how to self-host n8n on a DigitalOcean droplet. It uses: - [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Droplet from the internet. Caddy will also automatically create and manage SSL / TLS certificates for your n8n instance. - [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together. Self-hosting knowledge prerequisites Self-hosting n8n...",
|
|
17443
17443
|
"sections": [
|
|
17444
17444
|
{
|
|
@@ -17518,7 +17518,7 @@
|
|
|
17518
17518
|
"relatedPages": []
|
|
17519
17519
|
},
|
|
17520
17520
|
"searchIndex": {
|
|
17521
|
-
"fullText": "digital ocean # hosting n8n on digitalocean\n\nthis hosting guide shows you how to self-host n8n on a digitalocean droplet. it uses:\n\n- [caddy](https://caddyserver.com) (a reverse proxy) to allow access to the droplet from the internet. caddy will also automatically create and manage ssl / tls certificates for your n8n instance.\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17521
|
+
"fullText": "digital ocean # hosting n8n on digitalocean\n\nthis hosting guide shows you how to self-host n8n on a digitalocean droplet. it uses:\n\n- [caddy](https://caddyserver.com) (a reverse proxy) to allow access to the droplet from the internet. caddy will also automatically create and manage ssl / tls certificates for your n8n instance.\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## create a droplet\n\n1. [log in](https://cloud.digitalocean.com/login) to digitalocean.\n1. select the project to host the droplet, or [create a new project](https://docs.digitalocean.com/products/projects/how-to/create/).\n1. in your project, select **droplets** from the **manage** menu.\n1. [create a new droplet](https://docs.digitalocean.com/products/droplets/how-to/create/) using the [docker image](https://marketplace.digitalocean.com/apps/docker) available on the **marketplace** tab.\n\ndroplet resources\n\nwhen creating the droplet, digitalocean asks you to choose a plan. for most usage levels, a basic shared cpu plan is enough.\n\nssh key or password\n\ndigitalocean lets you choose between ssh key and password-based authentication. ssh keys are considered more secure.\n\n## log in to your droplet and create new user\n\nthe rest of this guide requires you to log in to the droplet using a terminal with ssh. refer to [how to connect to droplets with ssh](https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/) for more information.\n\nyou should create a new user, to avoid working as the root user:\n\n1. log in as root.\n\n1. create a new user:\n\n ```\n adduser <username>\n ```\n\n1. follow the prompts in the cli to finish creating the user.\n\n1. grant the new user administrative privileges:\n\n ```\n usermod -ag sudo <username>\n ```\n\n you can now run commands with superuser privileges by using `sudo` before the command.\n\n1. follow the steps to set up ssh for the new user: [add public key authentication](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04#step-four-add-public-key-authentication-recommended).\n\n1. log out of the droplet.\n\n1. log in using ssh as the new user.\n\n## clone configuration repository\n\ndocker compose, n8n, and caddy require a series of folders and configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the home folder of the logged-in user on your droplet. the following steps will tell you which file to change and what changes to make.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-docker-caddy.git\n```\n\nand change directory to the root of the repository you cloned:\n\n```\ncd n8n-docker-caddy\n```\n\n## default folders and files\n\nthe host operating system (the digitalocean droplet) copies the two folders you created to docker containers to make them available to docker. the two folders are:\n\n- `caddy_config`: holds the caddy configuration files.\n- `local_files`: a folder for files you upload or add using n8n.\n\n### create docker volumes\n\nto persist the caddy cache between restarts and speed up start times, create [a docker volume](https://docs.docker.com/storage/volumes/) that docker reuses between restarts:\n\n```\nsudo docker volume create caddy_data\n```\n\ncreate a docker volume for the n8n data:\n\n```\nsudo docker volume create n8n_data\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the droplet. the exact steps for this depend on your dns provider, but typically you need to create a new \"a\" record for the n8n subdomain. digitalocean provide [an introduction to dns terminology, components, and concepts](https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts).\n\n## open ports\n\nn8n runs as a web application, so the droplet needs to allow incoming access to traffic on port 80 for non-secure traffic, and port 443 for secure traffic.\n\nopen the following ports in the droplet's firewall by running the following two commands:\n\n```\nsudo ufw allow 80\nsudo ufw allow 443\n```\n\n## configure n8n\n\nn8n needs some environment variables set to pass to the application running in the docker container. the example `.env` file contains placeholders you need to replace with values of your own.\n\nopen the file with the following command:\n\n```\nnano .env\n```\n\nthe file contains inline comments to help you know what to change.\n\nrefer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## the docker compose file\n\nthe docker compose file (`docker-compose.yml`) defines the services the application needs, in this case caddy and n8n.\n\n- the caddy service definition defines the ports it uses and the local volumes to copy to the containers.\n- the n8n service definition defines the ports it uses, the environment variables n8n needs to run (some defined in the `.env` file), and the volumes it needs to copy to the containers.\n\nthe docker compose file uses the environment variables set in the `.env` file, so you shouldn't need to change it's content, but to take a look, run the following command:\n\n```\nnano docker-compose.yml\n```\n\n## configure caddy\n\ncaddy needs to know which domains it should serve, and which port to expose to the outside world. edit the `caddyfile` file in the `caddy_config` folder.\n\n```\nnano caddy_config/caddyfile\n```\n\nchange the placeholder domain to yours. if you followed the steps to name the subdomain n8n, your full domain is similar to `n8n.example.com`. the `n8n` in the `reverse_proxy` setting tells caddy to use the service definition defined in the `docker-compose.yml` file:\n\n```\nn8n.<domain>.<suffix> {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\nif you were to use `automate.example.com`, your `caddyfile` may look something like:\n\n```\nautomate.example.com {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\n## start docker compose\n\nstart n8n and caddy with the following command:\n\n```\nsudo docker compose up -d\n```\n\nthis may take a few minutes.\n\n## test your setup\n\nin your browser, open the url formed of the subdomain and domain name defined earlier. enter the user name and password defined earlier, and you should be able to access n8n.\n\n## stop n8n and caddy\n\nyou can stop n8n and caddy with the following command:\n\n```\nsudo docker compose stop\n```\n\n## updating\n\nif you run n8n using a docker compose file, follow these steps to update n8n:\n\n```\n# navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# pull latest version\ndocker compose pull\n\n# stop and remove older version\ndocker compose down\n\n# start the container\ndocker compose up -d\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on digitalocean navigate to the directory containing your docker compose file pull latest version stop and remove older version start the container",
|
|
17522
17522
|
"importantTerms": [
|
|
17523
17523
|
"docker",
|
|
17524
17524
|
"compose",
|
|
@@ -17583,7 +17583,7 @@
|
|
|
17583
17583
|
"nodeName": null,
|
|
17584
17584
|
"nodeType": null,
|
|
17585
17585
|
"content": {
|
|
17586
|
-
"markdown": "# Docker-Compose\n\nThese instructions cover how to run n8n on a Linux server using Docker Compose.\n\nIf you have already installed Docker and Docker-Compose, then you can start with [step 3](#3-dns-setup).\n\nYou can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17586
|
+
"markdown": "# Docker-Compose\n\nThese instructions cover how to run n8n on a Linux server using Docker Compose.\n\nIf you have already installed Docker and Docker-Compose, then you can start with [step 3](#3-dns-setup).\n\nYou can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## 1. Install Docker and Docker Compose\n\nThe way that you install Docker and Docker Compose depends on your Linux distribution. You can find specific instructions for each component in the links below:\n\n- [Docker Engine](https://docs.docker.com/engine/install/)\n- [Docker Compose](https://docs.docker.com/compose/install/linux/)\n\nAfter following the installation instructions, verify that Docker and Docker Compose are available by typing:\n\n```\ndocker --version\ndocker compose version\n```\n\n## 2. Optional: Non-root user access\n\nYou can optionally grant access to run Docker without the `sudo` command.\n\nTo grant access to the user that you're currently logged in with (assuming they have `sudo` access), run:\n\n```\nsudo usermod -aG docker ${USER}\n# Register the `docker` group membership with current session without changing your primary group\nexec sg docker newgrp\n```\n\nTo grant access to a different user, type the following, substituting `<USER_TO_RUN_DOCKER>` with the appropriate username:\n\n```\nsudo usermod -aG docker <USER_TO_RUN_DOCKER>\n```\n\nYou will need to run `exec sg docker newgrp` from any of that user's existing sessions for it to access the new group permissions.\n\nYou can verify that your current session recognizes the `docker` group by typing:\n\n```\ngroups\n```\n\n## 3. DNS setup\n\nTo host n8n online or on a network, create a dedicated subdomain pointed at your server.\n\nAdd an A record to route the subdomain accordingly:\n\n| Record type | Name | Destination |\n| ----------- | --------------------------------- | -------------------------- |\n| A | `n8n` (or your desired subdomain) | `<your_server_IP_address>` |\n\n## 4. Create an `.env` file\n\nCreate a project directory to store your n8n environment configuration and Docker Compose files and navigate inside:\n\n```\nmkdir n8n-compose\ncd n8n-compose\n```\n\nInside the `n8n-compose` directory, create an `.env` file to customize your n8n instance's details. Change it to match your own information:\n\n```\n# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from\n# The top level domain to serve from\nDOMAIN_NAME=example.com\n\n# The subdomain to serve from\nSUBDOMAIN=n8n\n\n# The above example serve n8n at: https://n8n.example.com\n\n# Optional timezone to set which gets used by Cron and other scheduling nodes\n# New York is the default value if not set\nGENERIC_TIMEZONE=Europe/Berlin\n\n# The email address to use for the TLS/SSL certificate creation\nSSL_EMAIL=user@example.com\n```\n\n## 5. Create local files directory\n\nInside your project directory, create a directory called `local-files` for sharing files between the n8n instance and the host system (for example, using the [Read/Write Files from Disk node](../../../../integrations/builtin/core-nodes/n8n-nodes-base.readwritefile/)):\n\n```\nmkdir local-files\n```\n\nThe Docker Compose file below can automatically create this directory, but doing it manually ensures that it's created with the right ownership and permissions.\n\n## 6. Create Docker Compose file\n\nCreate a `compose.yaml` file. Paste the following in the file:\n\n```\nservices:\n traefik:\n image: \"traefik\"\n restart: always\n command:\n - \"--api.insecure=true\"\n - \"--providers.docker=true\"\n - \"--providers.docker.exposedbydefault=false\"\n - \"--entrypoints.web.address=:80\"\n - \"--entrypoints.web.http.redirections.entryPoint.to=websecure\"\n - \"--entrypoints.web.http.redirections.entrypoint.scheme=https\"\n - \"--entrypoints.websecure.address=:443\"\n - \"--certificatesresolvers.mytlschallenge.acme.tlschallenge=true\"\n - \"--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}\"\n - \"--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json\"\n ports:\n - \"80:80\"\n - \"443:443\"\n volumes:\n - traefik_data:/letsencrypt\n - /var/run/docker.sock:/var/run/docker.sock:ro\n\n n8n:\n image: docker.n8n.io/n8nio/n8n\n restart: always\n ports:\n - \"127.0.0.1:5678:5678\"\n labels:\n - traefik.enable=true\n - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)\n - traefik.http.routers.n8n.tls=true\n - traefik.http.routers.n8n.entrypoints=web,websecure\n - traefik.http.routers.n8n.tls.certresolver=mytlschallenge\n - traefik.http.middlewares.n8n.headers.SSLRedirect=true\n - traefik.http.middlewares.n8n.headers.STSSeconds=315360000\n - traefik.http.middlewares.n8n.headers.browserXSSFilter=true\n - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true\n - traefik.http.middlewares.n8n.headers.forceSTSHeader=true\n - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}\n - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true\n - traefik.http.middlewares.n8n.headers.STSPreload=true\n - traefik.http.routers.n8n.middlewares=n8n@docker\n environment:\n - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true\n - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}\n - N8N_PORT=5678\n - N8N_PROTOCOL=https \n - NODE_ENV=production\n - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/\n - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}\n - TZ=${GENERIC_TIMEZONE}\n volumes:\n - n8n_data:/home/node/.n8n\n - ./local-files:/files\n\nvolumes:\n n8n_data:\n traefik_data:\n```\n\nThe Docker Compose file above configures two containers: one for n8n, and one to run [traefik](https://github.com/traefik/traefik), an application proxy to manage TLS/SSL certificates and handle routing.\n\nIt also creates and mounts two [Docker Volumes](https://docs.docker.com/engine/storage/volumes/) and mounts the `local-files` directory you created earlier:\n\n| Name | Type | Container mount | Description |\n| --------------- | ----------------------------------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| `n8n_data` | [Volume](https://docs.docker.com/engine/storage/volumes/) | `/home/node/.n8n` | Where n8n saves its SQLite database file and encryption key. |\n| `traefik_data` | [Volume](https://docs.docker.com/engine/storage/volumes/) | `/letsencrypt` | Where traefik saves TLS/SSL certificate data. |\n| `./local-files` | [Bind](https://docs.docker.com/engine/storage/bind-mounts/) | `/files` | A local directory shared between the n8n instance and host. In n8n, use the `/files` path to read from and write to this directory. |\n\n## 7. Start Docker Compose\n\nStart n8n by typing:\n\n```\nsudo docker compose up -d\n```\n\nTo stop the containers, type:\n\n```\nsudo docker compose stop\n```\n\n## 8. Done\n\nYou can now reach n8n using the subdomain + domain combination you defined in your `.env` file configuration. The above example would result in `https://n8n.example.com`.\n\nn8n is only accessible using secure HTTPS, not over plain HTTP.\n\nIf you have trouble reaching your instance, check your server's firewall settings and your DNS configuration.\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
17587
17587
|
"excerpt": "# Docker-Compose These instructions cover how to run n8n on a Linux server using Docker Compose. If you have already installed Docker and Docker-Compose, then you can start with [step 3](#3-dns-setup). You can find Docker Compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting). Self-hosting knowledge prerequisites Self-hosting n8n requires technical knowledge, including: - Setting up and configuring servers and containers - Ma...",
|
|
17588
17588
|
"sections": [
|
|
17589
17589
|
{
|
|
@@ -17705,7 +17705,7 @@
|
|
|
17705
17705
|
"relatedPages": []
|
|
17706
17706
|
},
|
|
17707
17707
|
"searchIndex": {
|
|
17708
|
-
"fullText": "docker compose # docker-compose\n\nthese instructions cover how to run n8n on a linux server using docker compose.\n\nif you have already installed docker and docker-compose, then you can start with [step 3](#3-dns-setup).\n\nyou can find docker compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17708
|
+
"fullText": "docker compose # docker-compose\n\nthese instructions cover how to run n8n on a linux server using docker compose.\n\nif you have already installed docker and docker-compose, then you can start with [step 3](#3-dns-setup).\n\nyou can find docker compose configurations for various architectures in the [n8n-hosting repository](https://github.com/n8n-io/n8n-hosting).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## 1. install docker and docker compose\n\nthe way that you install docker and docker compose depends on your linux distribution. you can find specific instructions for each component in the links below:\n\n- [docker engine](https://docs.docker.com/engine/install/)\n- [docker compose](https://docs.docker.com/compose/install/linux/)\n\nafter following the installation instructions, verify that docker and docker compose are available by typing:\n\n```\ndocker --version\ndocker compose version\n```\n\n## 2. optional: non-root user access\n\nyou can optionally grant access to run docker without the `sudo` command.\n\nto grant access to the user that you're currently logged in with (assuming they have `sudo` access), run:\n\n```\nsudo usermod -ag docker ${user}\n# register the `docker` group membership with current session without changing your primary group\nexec sg docker newgrp\n```\n\nto grant access to a different user, type the following, substituting `<user_to_run_docker>` with the appropriate username:\n\n```\nsudo usermod -ag docker <user_to_run_docker>\n```\n\nyou will need to run `exec sg docker newgrp` from any of that user's existing sessions for it to access the new group permissions.\n\nyou can verify that your current session recognizes the `docker` group by typing:\n\n```\ngroups\n```\n\n## 3. dns setup\n\nto host n8n online or on a network, create a dedicated subdomain pointed at your server.\n\nadd an a record to route the subdomain accordingly:\n\n| record type | name | destination |\n| ----------- | --------------------------------- | -------------------------- |\n| a | `n8n` (or your desired subdomain) | `<your_server_ip_address>` |\n\n## 4. create an `.env` file\n\ncreate a project directory to store your n8n environment configuration and docker compose files and navigate inside:\n\n```\nmkdir n8n-compose\ncd n8n-compose\n```\n\ninside the `n8n-compose` directory, create an `.env` file to customize your n8n instance's details. change it to match your own information:\n\n```\n# domain_name and subdomain together determine where n8n will be reachable from\n# the top level domain to serve from\ndomain_name=example.com\n\n# the subdomain to serve from\nsubdomain=n8n\n\n# the above example serve n8n at: https://n8n.example.com\n\n# optional timezone to set which gets used by cron and other scheduling nodes\n# new york is the default value if not set\ngeneric_timezone=europe/berlin\n\n# the email address to use for the tls/ssl certificate creation\nssl_email=user@example.com\n```\n\n## 5. create local files directory\n\ninside your project directory, create a directory called `local-files` for sharing files between the n8n instance and the host system (for example, using the [read/write files from disk node](../../../../integrations/builtin/core-nodes/n8n-nodes-base.readwritefile/)):\n\n```\nmkdir local-files\n```\n\nthe docker compose file below can automatically create this directory, but doing it manually ensures that it's created with the right ownership and permissions.\n\n## 6. create docker compose file\n\ncreate a `compose.yaml` file. paste the following in the file:\n\n```\nservices:\n traefik:\n image: \"traefik\"\n restart: always\n command:\n - \"--api.insecure=true\"\n - \"--providers.docker=true\"\n - \"--providers.docker.exposedbydefault=false\"\n - \"--entrypoints.web.address=:80\"\n - \"--entrypoints.web.http.redirections.entrypoint.to=websecure\"\n - \"--entrypoints.web.http.redirections.entrypoint.scheme=https\"\n - \"--entrypoints.websecure.address=:443\"\n - \"--certificatesresolvers.mytlschallenge.acme.tlschallenge=true\"\n - \"--certificatesresolvers.mytlschallenge.acme.email=${ssl_email}\"\n - \"--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json\"\n ports:\n - \"80:80\"\n - \"443:443\"\n volumes:\n - traefik_data:/letsencrypt\n - /var/run/docker.sock:/var/run/docker.sock:ro\n\n n8n:\n image: docker.n8n.io/n8nio/n8n\n restart: always\n ports:\n - \"127.0.0.1:5678:5678\"\n labels:\n - traefik.enable=true\n - traefik.http.routers.n8n.rule=host(`${subdomain}.${domain_name}`)\n - traefik.http.routers.n8n.tls=true\n - traefik.http.routers.n8n.entrypoints=web,websecure\n - traefik.http.routers.n8n.tls.certresolver=mytlschallenge\n - traefik.http.middlewares.n8n.headers.sslredirect=true\n - traefik.http.middlewares.n8n.headers.stsseconds=315360000\n - traefik.http.middlewares.n8n.headers.browserxssfilter=true\n - traefik.http.middlewares.n8n.headers.contenttypenosniff=true\n - traefik.http.middlewares.n8n.headers.forcestsheader=true\n - traefik.http.middlewares.n8n.headers.sslhost=${domain_name}\n - traefik.http.middlewares.n8n.headers.stsincludesubdomains=true\n - traefik.http.middlewares.n8n.headers.stspreload=true\n - traefik.http.routers.n8n.middlewares=n8n@docker\n environment:\n - n8n_enforce_settings_file_permissions=true\n - n8n_host=${subdomain}.${domain_name}\n - n8n_port=5678\n - n8n_protocol=https \n - node_env=production\n - webhook_url=https://${subdomain}.${domain_name}/\n - generic_timezone=${generic_timezone}\n - tz=${generic_timezone}\n volumes:\n - n8n_data:/home/node/.n8n\n - ./local-files:/files\n\nvolumes:\n n8n_data:\n traefik_data:\n```\n\nthe docker compose file above configures two containers: one for n8n, and one to run [traefik](https://github.com/traefik/traefik), an application proxy to manage tls/ssl certificates and handle routing.\n\nit also creates and mounts two [docker volumes](https://docs.docker.com/engine/storage/volumes/) and mounts the `local-files` directory you created earlier:\n\n| name | type | container mount | description |\n| --------------- | ----------------------------------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| `n8n_data` | [volume](https://docs.docker.com/engine/storage/volumes/) | `/home/node/.n8n` | where n8n saves its sqlite database file and encryption key. |\n| `traefik_data` | [volume](https://docs.docker.com/engine/storage/volumes/) | `/letsencrypt` | where traefik saves tls/ssl certificate data. |\n| `./local-files` | [bind](https://docs.docker.com/engine/storage/bind-mounts/) | `/files` | a local directory shared between the n8n instance and host. in n8n, use the `/files` path to read from and write to this directory. |\n\n## 7. start docker compose\n\nstart n8n by typing:\n\n```\nsudo docker compose up -d\n```\n\nto stop the containers, type:\n\n```\nsudo docker compose stop\n```\n\n## 8. done\n\nyou can now reach n8n using the subdomain + domain combination you defined in your `.env` file configuration. the above example would result in `https://n8n.example.com`.\n\nn8n is only accessible using secure https, not over plain http.\n\nif you have trouble reaching your instance, check your server's firewall settings and your dns configuration.\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n docker-compose register the `docker` group membership with current session without changing your primary group domain_name and subdomain together determine where n8n will be reachable from the top level domain to serve from the subdomain to serve from the above example serve n8n at: https://n8n.example.com optional timezone to set which gets used by cron and other scheduling nodes new york is the default value if not set the email address to use for the tls/ssl certificate creation",
|
|
17709
17709
|
"importantTerms": [
|
|
17710
17710
|
"docker",
|
|
17711
17711
|
"compose",
|
|
@@ -17770,7 +17770,7 @@
|
|
|
17770
17770
|
"nodeName": null,
|
|
17771
17771
|
"nodeType": null,
|
|
17772
17772
|
"content": {
|
|
17773
|
-
"markdown": "# Hosting n8n on Google Cloud Run\n\nThis hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nYou can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these services as n8n workflow tools. Instructions for granting n8n access to these services are at the end of this documentation.\n\nIf you want to deploy to Google Kubernetes Engine (GKE) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.4 Current `beta`: 2.22.0\n\n## Before you begin: get a Google Cloud project\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service runs for free you must have billing activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\n## Easy mode\n\nThis is the fastest way to deploy n8n on Cloud Run. For this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **Anytime this Cloud Run service scales to zero or is redeployed, the n8n data will be lost.** Refer to the durable mode instructions below if you need a production-grade deployment.\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service will run for free you must have billing enabled to activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right).\n\nOnce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nYou can also explicitly enable the Cloud Run API (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nRequired: Custom health check endpoint\n\nGoogle Cloud Run reserves `/healthz` for its own health checks. Since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. To fix this, set the `N8N_ENDPOINT_HEALTH` environment variable to a custom path (included in the deployment commands below).\n\nTo deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. n8n may still be loading and you will see a \"n8n is starting up. Please wait\" message, but shortly thereafter you should see the n8n login screen.\n\nOptional: If you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --scaling=1 \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\nThis does not prevent data loss completely, such as whenever the Cloud Run service is re-deployed/updated. If you want truly persistent data, you should refer to the instructions below for how to attach a database.\n\n## Durable mode\n\nThe following instructions are intended for a more durable, production-grade deployment of n8n on Cloud Run. It includes resources such as a database for persistance and secret manager for sensitive data.\n\nIf you want to deploy the following setup via Terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the OAuth setup for Google Workspace tools).\n\n## Enable APIs and set env vars\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## You may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nYou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport PROJECT_ID=your-project\nexport REGION=region-where-you-want-this-deployed\n```\n\n## Setup your Postgres database\n\nRun this command to create the Postgres DB instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=POSTGRES_13 \\\n --tier=db-f1-micro \\\n --region=$REGION \\\n --root-password=\"change-this-password\" \\\n --storage-size=10GB \\\n --availability-type=ZONAL \\\n --no-backup \\\n --storage-type=HDD\n```\n\nOnce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\nCreate the DB user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nYou can save the password you set for this n8n-user to a file for the next step of saving the password in Secret Manager. Be sure to delete this file later.\n\n## Store sensitive data in Secret Manager\n\nWhile not required, it's absolutely recommended to store your sensitive data in Secrets Manager.\n\nCreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\nCreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\nCreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nNow you can delete my-encryption-key and the database password files you created. These values are now securely stored in Secret Manager.\n\n## Create a service account for Cloud Run\n\nYou want this Cloud Run service to be restricted to access only the resources it needs. The following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n Service Account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud projects add-iam-policy-binding $PROJECT_ID \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## Deploy the Cloud Run service\n\nNow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$REGION \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2Gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"N8N_PORT=5678,N8N_PROTOCOL=https,N8N_ENDPOINT_HEALTH=health,DB_TYPE=postgresdb,DB_POSTGRESDB_DATABASE=n8n,DB_POSTGRESDB_USER=n8n-user,DB_POSTGRESDB_HOST=/cloudsql/$PROJECT_ID:$REGION:n8n-db,DB_POSTGRESDB_PORT=5432,DB_POSTGRESDB_SCHEMA=public,GENERIC_TIMEZONE=UTC,QUEUE_HEALTH_CHECK_ACTIVE=true\" \\\n --set-secrets=\"DB_POSTGRESDB_PASSWORD=n8n-db-password:latest,N8N_ENCRYPTION_KEY=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$PROJECT_ID:$REGION:n8n-db \\\n --service-account=n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\n```\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. You should see the n8n login screen.\n\n## Troubleshooting\n\nIf you see a \"Cannot GET /\" screen this usually indicates that n8n is still starting up. You can refresh the page and it should eventually load.\n\n## (Optional) Enabling Google Workspace services as n8n tools\n\nIf you want to use Google Workspace services (Gmail, Calendar, Drive, etc.) as tools in n8n, it's recommended to setup OAuth to access these services.\n\nFirst ensure the respective APIs you want are enabled:\n\n```\n## Enable whichever APIs you need\n## Note: If you want Sheets/Docs, it's not enough to just enable Drive; these services each have their own API\ngcloud services enable gmail.googleapis.com\ngcloud services enable drive.googleapis.com\ngcloud services enable sheets.googleapis.com\ngcloud services enable docs.googleapis.com\ngcloud services enable calendar-json.googleapis.com\n```\n\nRe-deploy n8n on Cloud Run with the necessary OAuth callback URLs as environment variables:\n\n```\nexport SERVICE_URL=\"your-n8n-service-URL\"\n## e.g. https://n8n-12345678.us-west1.run.app\n\ngcloud run services update n8n \\\n --region=$REGION \\\n --update-env-vars=\"N8N_HOST=$(echo $SERVICE_URL | sed 's/https:\\/\\///'),WEBHOOK_URL=$SERVICE_URL,N8N_EDITOR_BASE_URL=$SERVICE_URL\"\n```\n\nLastly, you must setup OAuth for these services. Visit `https://console.cloud.google.com/auth` and follow these steps:\n\n1. Click \"Get Started\" if this button shows (when you have not yet setup OAuth in this Cloud project).\n1. For \"App Information\", enter whichever \"App Name\" and \"User Support Email\" you prefer.\n1. For \"Audience\", select \"Internal\" if you intend to only enable access to your user(s) within this same Google Workspace. Otherwise, you can select \"External\".\n1. Enter \"Contact Information\".\n1. If you selected \"External\", then click \"Audience\" and add any test users you need to grant access.\n1. Click \"Clients\" > \"Create client\", select \"Web application\" for \"Application type\", enter your n8n service URL into \"Authorized JavaScript origins\", and \"/rest/oauth2-credential/callback\" into \"Authorized redirect URIs\" where your YOUR-N8N-URL is also the n8n service URL (e.g. `https://n8n-12345678.us-west1.run.app/rest/oauth2-credential/callback`). Make sure you download the created client's JSON file since it contains the client secret which you will not be able to see later in the Console.\n1. Click \"Data Access\" and add the scopes you want n8n to have access for (e.g. to access Google Sheets, you need `https://googleapis.com/auth/drive.file` and `https://googleapis.com/auth/spreadsheets`)\n1. Now you should be able to use these workspace services. You can test if it works by logging into n8n, add a Tool for the respective service and add its credentials using the information in the OAuth client JSON file from step 6.\n",
|
|
17773
|
+
"markdown": "# Hosting n8n on Google Cloud Run\n\nThis hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nYou can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these services as n8n workflow tools. Instructions for granting n8n access to these services are at the end of this documentation.\n\nIf you want to deploy to Google Kubernetes Engine (GKE) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Before you begin: get a Google Cloud project\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service runs for free you must have billing activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\n## Easy mode\n\nThis is the fastest way to deploy n8n on Cloud Run. For this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **Anytime this Cloud Run service scales to zero or is redeployed, the n8n data will be lost.** Refer to the durable mode instructions below if you need a production-grade deployment.\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service will run for free you must have billing enabled to activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right).\n\nOnce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nYou can also explicitly enable the Cloud Run API (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nRequired: Custom health check endpoint\n\nGoogle Cloud Run reserves `/healthz` for its own health checks. Since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. To fix this, set the `N8N_ENDPOINT_HEALTH` environment variable to a custom path (included in the deployment commands below).\n\nTo deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. n8n may still be loading and you will see a \"n8n is starting up. Please wait\" message, but shortly thereafter you should see the n8n login screen.\n\nOptional: If you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --scaling=1 \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\nThis does not prevent data loss completely, such as whenever the Cloud Run service is re-deployed/updated. If you want truly persistent data, you should refer to the instructions below for how to attach a database.\n\n## Durable mode\n\nThe following instructions are intended for a more durable, production-grade deployment of n8n on Cloud Run. It includes resources such as a database for persistance and secret manager for sensitive data.\n\nIf you want to deploy the following setup via Terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the OAuth setup for Google Workspace tools).\n\n## Enable APIs and set env vars\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## You may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nYou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport PROJECT_ID=your-project\nexport REGION=region-where-you-want-this-deployed\n```\n\n## Setup your Postgres database\n\nRun this command to create the Postgres DB instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=POSTGRES_13 \\\n --tier=db-f1-micro \\\n --region=$REGION \\\n --root-password=\"change-this-password\" \\\n --storage-size=10GB \\\n --availability-type=ZONAL \\\n --no-backup \\\n --storage-type=HDD\n```\n\nOnce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\nCreate the DB user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nYou can save the password you set for this n8n-user to a file for the next step of saving the password in Secret Manager. Be sure to delete this file later.\n\n## Store sensitive data in Secret Manager\n\nWhile not required, it's absolutely recommended to store your sensitive data in Secrets Manager.\n\nCreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\nCreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\nCreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nNow you can delete my-encryption-key and the database password files you created. These values are now securely stored in Secret Manager.\n\n## Create a service account for Cloud Run\n\nYou want this Cloud Run service to be restricted to access only the resources it needs. The following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n Service Account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud projects add-iam-policy-binding $PROJECT_ID \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## Deploy the Cloud Run service\n\nNow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$REGION \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2Gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"N8N_PORT=5678,N8N_PROTOCOL=https,N8N_ENDPOINT_HEALTH=health,DB_TYPE=postgresdb,DB_POSTGRESDB_DATABASE=n8n,DB_POSTGRESDB_USER=n8n-user,DB_POSTGRESDB_HOST=/cloudsql/$PROJECT_ID:$REGION:n8n-db,DB_POSTGRESDB_PORT=5432,DB_POSTGRESDB_SCHEMA=public,GENERIC_TIMEZONE=UTC,QUEUE_HEALTH_CHECK_ACTIVE=true\" \\\n --set-secrets=\"DB_POSTGRESDB_PASSWORD=n8n-db-password:latest,N8N_ENCRYPTION_KEY=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$PROJECT_ID:$REGION:n8n-db \\\n --service-account=n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\n```\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. You should see the n8n login screen.\n\n## Troubleshooting\n\nIf you see a \"Cannot GET /\" screen this usually indicates that n8n is still starting up. You can refresh the page and it should eventually load.\n\n## (Optional) Enabling Google Workspace services as n8n tools\n\nIf you want to use Google Workspace services (Gmail, Calendar, Drive, etc.) as tools in n8n, it's recommended to setup OAuth to access these services.\n\nFirst ensure the respective APIs you want are enabled:\n\n```\n## Enable whichever APIs you need\n## Note: If you want Sheets/Docs, it's not enough to just enable Drive; these services each have their own API\ngcloud services enable gmail.googleapis.com\ngcloud services enable drive.googleapis.com\ngcloud services enable sheets.googleapis.com\ngcloud services enable docs.googleapis.com\ngcloud services enable calendar-json.googleapis.com\n```\n\nRe-deploy n8n on Cloud Run with the necessary OAuth callback URLs as environment variables:\n\n```\nexport SERVICE_URL=\"your-n8n-service-URL\"\n## e.g. https://n8n-12345678.us-west1.run.app\n\ngcloud run services update n8n \\\n --region=$REGION \\\n --update-env-vars=\"N8N_HOST=$(echo $SERVICE_URL | sed 's/https:\\/\\///'),WEBHOOK_URL=$SERVICE_URL,N8N_EDITOR_BASE_URL=$SERVICE_URL\"\n```\n\nLastly, you must setup OAuth for these services. Visit `https://console.cloud.google.com/auth` and follow these steps:\n\n1. Click \"Get Started\" if this button shows (when you have not yet setup OAuth in this Cloud project).\n1. For \"App Information\", enter whichever \"App Name\" and \"User Support Email\" you prefer.\n1. For \"Audience\", select \"Internal\" if you intend to only enable access to your user(s) within this same Google Workspace. Otherwise, you can select \"External\".\n1. Enter \"Contact Information\".\n1. If you selected \"External\", then click \"Audience\" and add any test users you need to grant access.\n1. Click \"Clients\" > \"Create client\", select \"Web application\" for \"Application type\", enter your n8n service URL into \"Authorized JavaScript origins\", and \"/rest/oauth2-credential/callback\" into \"Authorized redirect URIs\" where your YOUR-N8N-URL is also the n8n service URL (e.g. `https://n8n-12345678.us-west1.run.app/rest/oauth2-credential/callback`). Make sure you download the created client's JSON file since it contains the client secret which you will not be able to see later in the Console.\n1. Click \"Data Access\" and add the scopes you want n8n to have access for (e.g. to access Google Sheets, you need `https://googleapis.com/auth/drive.file` and `https://googleapis.com/auth/spreadsheets`)\n1. Now you should be able to use these workspace services. You can test if it works by logging into n8n, add a Tool for the respective service and add its credentials using the information in the OAuth client JSON file from step 6.\n",
|
|
17774
17774
|
"excerpt": "# Hosting n8n on Google Cloud Run This hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down. You can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these s...",
|
|
17775
17775
|
"sections": [
|
|
17776
17776
|
{
|
|
@@ -17841,7 +17841,7 @@
|
|
|
17841
17841
|
"relatedPages": []
|
|
17842
17842
|
},
|
|
17843
17843
|
"searchIndex": {
|
|
17844
|
-
"fullText": "google cloud run # hosting n8n on google cloud run\n\nthis hosting guide shows you how to self-host n8n on google cloud run, a serverless container runtime. if you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nyou can also enable access via oauth to google workspace, such as gmail and drive, to use these services as n8n workflow tools. instructions for granting n8n access to these services are at the end of this documentation.\n\nif you want to deploy to google kubernetes engine (gke) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.4 current `beta`: 2.22.0\n\n## before you begin: get a google cloud project\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service runs for free you must have billing activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\n## easy mode\n\nthis is the fastest way to deploy n8n on cloud run. for this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **anytime this cloud run service scales to zero or is redeployed, the n8n data will be lost.** refer to the durable mode instructions below if you need a production-grade deployment.\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service will run for free you must have billing enabled to activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right).\n\nonce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nyou can also explicitly enable the cloud run api (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nrequired: custom health check endpoint\n\ngoogle cloud run reserves `/healthz` for its own health checks. since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. to fix this, set the `n8n_endpoint_health` environment variable to a custom path (included in the deployment commands below).\n\nto deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nonce the deployment finishes, open another tab to navigate to the service url. n8n may still be loading and you will see a \"n8n is starting up. please wait\" message, but shortly thereafter you should see the n8n login screen.\n\noptional: if you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --scaling=1 \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\nthis does not prevent data loss completely, such as whenever the cloud run service is re-deployed/updated. if you want truly persistent data, you should refer to the instructions below for how to attach a database.\n\n## durable mode\n\nthe following instructions are intended for a more durable, production-grade deployment of n8n on cloud run. it includes resources such as a database for persistance and secret manager for sensitive data.\n\nif you want to deploy the following setup via terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the oauth setup for google workspace tools).\n\n## enable apis and set env vars\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## you may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nyou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport project_id=your-project\nexport region=region-where-you-want-this-deployed\n```\n\n## setup your postgres database\n\nrun this command to create the postgres db instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=postgres_13 \\\n --tier=db-f1-micro \\\n --region=$region \\\n --root-password=\"change-this-password\" \\\n --storage-size=10gb \\\n --availability-type=zonal \\\n --no-backup \\\n --storage-type=hdd\n```\n\nonce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\ncreate the db user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nyou can save the password you set for this n8n-user to a file for the next step of saving the password in secret manager. be sure to delete this file later.\n\n## store sensitive data in secret manager\n\nwhile not required, it's absolutely recommended to store your sensitive data in secrets manager.\n\ncreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\ncreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\ncreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nnow you can delete my-encryption-key and the database password files you created. these values are now securely stored in secret manager.\n\n## create a service account for cloud run\n\nyou want this cloud run service to be restricted to access only the resources it needs. the following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n service account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud projects add-iam-policy-binding $project_id \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## deploy the cloud run service\n\nnow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$region \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"n8n_port=5678,n8n_protocol=https,n8n_endpoint_health=health,db_type=postgresdb,db_postgresdb_database=n8n,db_postgresdb_user=n8n-user,db_postgresdb_host=/cloudsql/$project_id:$region:n8n-db,db_postgresdb_port=5432,db_postgresdb_schema=public,generic_timezone=utc,queue_health_check_active=true\" \\\n --set-secrets=\"db_postgresdb_password=n8n-db-password:latest,n8n_encryption_key=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$project_id:$region:n8n-db \\\n --service-account=n8n-service-account@$project_id.iam.gserviceaccount.com\n```\n\nonce the deployment finishes, open another tab to navigate to the service url. you should see the n8n login screen.\n\n## troubleshooting\n\nif you see a \"cannot get /\" screen this usually indicates that n8n is still starting up. you can refresh the page and it should eventually load.\n\n## (optional) enabling google workspace services as n8n tools\n\nif you want to use google workspace services (gmail, calendar, drive, etc.) as tools in n8n, it's recommended to setup oauth to access these services.\n\nfirst ensure the respective apis you want are enabled:\n\n```\n## enable whichever apis you need\n## note: if you want sheets/docs, it's not enough to just enable drive; these services ea",
|
|
17844
|
+
"fullText": "google cloud run # hosting n8n on google cloud run\n\nthis hosting guide shows you how to self-host n8n on google cloud run, a serverless container runtime. if you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nyou can also enable access via oauth to google workspace, such as gmail and drive, to use these services as n8n workflow tools. instructions for granting n8n access to these services are at the end of this documentation.\n\nif you want to deploy to google kubernetes engine (gke) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## before you begin: get a google cloud project\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service runs for free you must have billing activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\n## easy mode\n\nthis is the fastest way to deploy n8n on cloud run. for this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **anytime this cloud run service scales to zero or is redeployed, the n8n data will be lost.** refer to the durable mode instructions below if you need a production-grade deployment.\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service will run for free you must have billing enabled to activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right).\n\nonce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nyou can also explicitly enable the cloud run api (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nrequired: custom health check endpoint\n\ngoogle cloud run reserves `/healthz` for its own health checks. since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. to fix this, set the `n8n_endpoint_health` environment variable to a custom path (included in the deployment commands below).\n\nto deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nonce the deployment finishes, open another tab to navigate to the service url. n8n may still be loading and you will see a \"n8n is starting up. please wait\" message, but shortly thereafter you should see the n8n login screen.\n\noptional: if you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --scaling=1 \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\nthis does not prevent data loss completely, such as whenever the cloud run service is re-deployed/updated. if you want truly persistent data, you should refer to the instructions below for how to attach a database.\n\n## durable mode\n\nthe following instructions are intended for a more durable, production-grade deployment of n8n on cloud run. it includes resources such as a database for persistance and secret manager for sensitive data.\n\nif you want to deploy the following setup via terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the oauth setup for google workspace tools).\n\n## enable apis and set env vars\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## you may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nyou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport project_id=your-project\nexport region=region-where-you-want-this-deployed\n```\n\n## setup your postgres database\n\nrun this command to create the postgres db instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=postgres_13 \\\n --tier=db-f1-micro \\\n --region=$region \\\n --root-password=\"change-this-password\" \\\n --storage-size=10gb \\\n --availability-type=zonal \\\n --no-backup \\\n --storage-type=hdd\n```\n\nonce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\ncreate the db user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nyou can save the password you set for this n8n-user to a file for the next step of saving the password in secret manager. be sure to delete this file later.\n\n## store sensitive data in secret manager\n\nwhile not required, it's absolutely recommended to store your sensitive data in secrets manager.\n\ncreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\ncreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\ncreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nnow you can delete my-encryption-key and the database password files you created. these values are now securely stored in secret manager.\n\n## create a service account for cloud run\n\nyou want this cloud run service to be restricted to access only the resources it needs. the following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n service account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud projects add-iam-policy-binding $project_id \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## deploy the cloud run service\n\nnow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$region \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"n8n_port=5678,n8n_protocol=https,n8n_endpoint_health=health,db_type=postgresdb,db_postgresdb_database=n8n,db_postgresdb_user=n8n-user,db_postgresdb_host=/cloudsql/$project_id:$region:n8n-db,db_postgresdb_port=5432,db_postgresdb_schema=public,generic_timezone=utc,queue_health_check_active=true\" \\\n --set-secrets=\"db_postgresdb_password=n8n-db-password:latest,n8n_encryption_key=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$project_id:$region:n8n-db \\\n --service-account=n8n-service-account@$project_id.iam.gserviceaccount.com\n```\n\nonce the deployment finishes, open another tab to navigate to the service url. you should see the n8n login screen.\n\n## troubleshooting\n\nif you see a \"cannot get /\" screen this usually indicates that n8n is still starting up. you can refresh the page and it should eventually load.\n\n## (optional) enabling google workspace services as n8n tools\n\nif you want to use google workspace services (gmail, calendar, drive, etc.) as tools in n8n, it's recommended to setup oauth to access these services.\n\nfirst ensure the respective apis you want are enabled:\n\n```\n## enable whichever apis you need\n## note: if you want sheets/docs, it's not enough to just enable drive; these services ea",
|
|
17845
17845
|
"importantTerms": [
|
|
17846
17846
|
"this",
|
|
17847
17847
|
"cloud",
|
|
@@ -17906,7 +17906,7 @@
|
|
|
17906
17906
|
"nodeName": null,
|
|
17907
17907
|
"nodeType": null,
|
|
17908
17908
|
"content": {
|
|
17909
|
-
"markdown": "# Hosting n8n on Google Kubernetes Engine\n\nGoogle Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## Prerequisites\n\n- The [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- The [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud CLI first)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
17909
|
+
"markdown": "# Hosting n8n on Google Kubernetes Engine\n\nGoogle Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## Prerequisites\n\n- The [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- The [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud CLI first)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Create project\n\nGCP encourages you to create projects to logically organize resources and configuration. Create a new project for your n8n deployment from your Google Cloud Console: select the project dropdown menu and then the **NEW PROJECT** button. Then select the newly created project. As you follow the other steps in this guide, make sure you have the correct project selected.\n\n## Enable the Kubernetes Engine API\n\nGKE isn't enabled by default. Search for \"Kubernetes\" in the top search bar and select \"Kubernetes Engine\" from the results.\n\nSelect **ENABLE** to enable the Kubernetes Engine API for this project.\n\n## Create a cluster\n\nFrom the [GKE service page](https://console.cloud.google.com/kubernetes/list/overview), select **Clusters** > **CREATE**. Make sure you select the \"Standard\" cluster option, n8n doesn't work with an \"Autopilot\" cluster. You can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## Set Kubectl context\n\nThe rest of the steps in this guide require you to set the GCP instance as the Kubectl context. You can find the connection details for a cluster instance by opening its details page and selecting **CONNECT**. The displayed code snippet shows a connection string for the gcloud CLI tool. Paste and run the code snippet in the gcloud CLI to change your local Kubernetes settings to use the new gcloud cluster.\n\n## Clone configuration repository\n\nKubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. The following steps explain the file configuration and how to add your information.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nAnd change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## Configure Postgres\n\nFor larger scale n8n deployments, Postgres provides a more robust database backend than SQLite.\n\n### Create a volume for persistent storage\n\nTo maintain data between pod restarts, the Postgres deployment needs a persistent volume. Running Postgres on GCP requires a specific Kubernetes Storage Class. You can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. You may want to change the regions to create the storage in under the `allowedTopologies` > `matchedLabelExpressions` > `values` key. By default, they're set to `us-central`.\n\n```\n…\nallowedTopologies:\n - matchLabelExpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### Postgres environment variables\n\nPostgres needs some environment variables set to pass to the application running in the containers.\n\nThe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. Postgres will use these details when creating the database..\n\nThe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## Configure n8n\n\n### Create a volume for file storage\n\nWhile not essential for running n8n, using persistent volumes is required for:\n\n- Using nodes that interact with files, such as the binary data node.\n- If you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. This saves a file containing the key into file storage during startup.\n\nThe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentVolumeClaim:\n claimName: n8n-claim0\n…\n```\n\n### Pod resources\n\n[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250Mi\"\n limits:\n memory: \"500Mi\"\n…\n```\n\nThis defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings:\n\n- **Start**: 320mb RAM, 10 millicore CPU burstable\n- **Pro (10k executions)**: 640mb RAM, 20 millicore CPU burstable\n- **Pro (50k executions)**: 1280mb RAM, 80 millicore CPU burstable\n\n### Optional: Environment variables\n\nYou can configure n8n settings and behaviors using environment variables.\n\nCreate an `n8n-secret.yaml` file. Refer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## Deployments\n\nThe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes.\n\nThe manifests define the following:\n\n- Send the environment variables defined to each application pod\n- Define the container image to use\n- Set resource consumption limits with the `resources` object\n- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes.\n- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs.\n\n## Services\n\nThe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## Send to Kubernetes cluster\n\nSend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nNamespace error\n\nYou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the n8n service. Find the IP address of the n8n service from the **Services & Ingress** menu item of the cluster you want to use under the **Endpoints** column.\n\nGKE and IP addresses\n\n[Read this GKE tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved IP addresses work with GKE and Kubernetes resources.\n\n## Delete resources\n\nRemove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
17910
17910
|
"excerpt": "# Hosting n8n on Google Kubernetes Engine Google Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes). This guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/). Most of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command...",
|
|
17911
17911
|
"sections": [
|
|
17912
17912
|
{
|
|
@@ -17958,7 +17958,7 @@
|
|
|
17958
17958
|
"relatedPages": []
|
|
17959
17959
|
},
|
|
17960
17960
|
"searchIndex": {
|
|
17961
|
-
"fullText": "google kubernetes engine # hosting n8n on google kubernetes engine\n\ngoogle cloud offers several options suitable for hosting n8n, including cloud run (optimized for running containers), compute engine (vms), and kubernetes engine (containers running with kubernetes).\n\nthis guide uses the google kubernetes engine (gke) as the hosting option. if you want to use cloud run, refer to [these instructions](../google-cloud-run/).\n\nmost of the steps in this guide use the google cloud ui, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## prerequisites\n\n- the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- the [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud cli first)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
17961
|
+
"fullText": "google kubernetes engine # hosting n8n on google kubernetes engine\n\ngoogle cloud offers several options suitable for hosting n8n, including cloud run (optimized for running containers), compute engine (vms), and kubernetes engine (containers running with kubernetes).\n\nthis guide uses the google kubernetes engine (gke) as the hosting option. if you want to use cloud run, refer to [these instructions](../google-cloud-run/).\n\nmost of the steps in this guide use the google cloud ui, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## prerequisites\n\n- the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- the [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud cli first)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## create project\n\ngcp encourages you to create projects to logically organize resources and configuration. create a new project for your n8n deployment from your google cloud console: select the project dropdown menu and then the **new project** button. then select the newly created project. as you follow the other steps in this guide, make sure you have the correct project selected.\n\n## enable the kubernetes engine api\n\ngke isn't enabled by default. search for \"kubernetes\" in the top search bar and select \"kubernetes engine\" from the results.\n\nselect **enable** to enable the kubernetes engine api for this project.\n\n## create a cluster\n\nfrom the [gke service page](https://console.cloud.google.com/kubernetes/list/overview), select **clusters** > **create**. make sure you select the \"standard\" cluster option, n8n doesn't work with an \"autopilot\" cluster. you can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## set kubectl context\n\nthe rest of the steps in this guide require you to set the gcp instance as the kubectl context. you can find the connection details for a cluster instance by opening its details page and selecting **connect**. the displayed code snippet shows a connection string for the gcloud cli tool. paste and run the code snippet in the gcloud cli to change your local kubernetes settings to use the new gcloud cluster.\n\n## clone configuration repository\n\nkubernetes and n8n require a series of configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. the following steps explain the file configuration and how to add your information.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nand change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## configure postgres\n\nfor larger scale n8n deployments, postgres provides a more robust database backend than sqlite.\n\n### create a volume for persistent storage\n\nto maintain data between pod restarts, the postgres deployment needs a persistent volume. running postgres on gcp requires a specific kubernetes storage class. you can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. you may want to change the regions to create the storage in under the `allowedtopologies` > `matchedlabelexpressions` > `values` key. by default, they're set to `us-central`.\n\n```\n…\nallowedtopologies:\n - matchlabelexpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### postgres environment variables\n\npostgres needs some environment variables set to pass to the application running in the containers.\n\nthe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. postgres will use these details when creating the database..\n\nthe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## configure n8n\n\n### create a volume for file storage\n\nwhile not essential for running n8n, using persistent volumes is required for:\n\n- using nodes that interact with files, such as the binary data node.\n- if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. this saves a file containing the key into file storage during startup.\n\nthe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentvolumeclaim:\n claimname: n8n-claim0\n…\n```\n\n### pod resources\n\n[kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. the example yaml files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250mi\"\n limits:\n memory: \"500mi\"\n…\n```\n\nthis defines a minimum of 250mb per container, a maximum of 500mb, and lets kubernetes handle cpu. you can change these values to match your own needs. as a guide, here are the resources values for the n8n cloud offerings:\n\n- **start**: 320mb ram, 10 millicore cpu burstable\n- **pro (10k executions)**: 640mb ram, 20 millicore cpu burstable\n- **pro (50k executions)**: 1280mb ram, 80 millicore cpu burstable\n\n### optional: environment variables\n\nyou can configure n8n settings and behaviors using environment variables.\n\ncreate an `n8n-secret.yaml` file. refer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## deployments\n\nthe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and postgres applications to kubernetes.\n\nthe manifests define the following:\n\n- send the environment variables defined to each application pod\n- define the container image to use\n- set resource consumption limits with the `resources` object\n- the `volumes` defined earlier and `volumemounts` to define the path in the container to mount volumes.\n- scaling and restart policies. the example manifests define one instance of each pod. you should change this to meet your needs.\n\n## services\n\nthe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## send to kubernetes cluster\n\nsend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nnamespace error\n\nyou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. you can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the n8n service. find the ip address of the n8n service from the **services & ingress** menu item of the cluster you want to use under the **endpoints** column.\n\ngke and ip addresses\n\n[read this gke tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved ip addresses work with gke and kubernetes resources.\n\n## delete resources\n\nremove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on google kubernetes engine",
|
|
17962
17962
|
"importantTerms": [
|
|
17963
17963
|
"kubernetes",
|
|
17964
17964
|
"cloud",
|
|
@@ -18023,7 +18023,7 @@
|
|
|
18023
18023
|
"nodeName": null,
|
|
18024
18024
|
"nodeType": null,
|
|
18025
18025
|
"content": {
|
|
18026
|
-
"markdown": "# Hosting n8n on Heroku\n\nThis hosting guide shows you how to self-host n8n on Heroku. It uses:\n\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n- [Heroku's PostgreSQL service](https://devcenter.heroku.com/categories/heroku-postgres) to host n8n's data storage.\n- A **Deploy to Heroku** button offering a one click, with minor configuration, deployment.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
18026
|
+
"markdown": "# Hosting n8n on Heroku\n\nThis hosting guide shows you how to self-host n8n on Heroku. It uses:\n\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n- [Heroku's PostgreSQL service](https://devcenter.heroku.com/categories/heroku-postgres) to host n8n's data storage.\n- A **Deploy to Heroku** button offering a one click, with minor configuration, deployment.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Use the deployment template to create a Heroku project\n\nThe quickest way to get started with deploying n8n to Heroku is using the **Deploy to Heroku** button:\n\nThis opens the **Create New App** page on Heroku. Set a name for the project, and choose the region to deploy the project to.\n\n### Configure environment variables\n\nHeroku pre-fills the configuration options defined in the `env` section of the `app.json` file, which also sets default values for the environment variables n8n uses.\n\nYou can change any of these values to suit your needs. You must change the following values:\n\n- **N8N_ENCRYPTION_KEY**, which n8n uses to [encrypt user account details](../../../configuration/environment-variables/deployment/) before saving to the database.\n- **WEBHOOK_URL** should match the application name you create to ensure that webhooks have the correct URL.\n\n### Deploy n8n\n\nSelect **Deploy app**.\n\nAfter Heroku builds and deploys the app it provides links to **Manage App** or **View** the application.\n\nHeroku and DNS\n\nRefer to the [Heroku documentation](https://devcenter.heroku.com/categories/networking-dns) to find out how to connect your domain to a Heroku application.\n\n## Changing the deployment template\n\nYou can make changes to the deployment template by forking the [repository](https://github.com/n8n-io/n8n-heroku) and deploying from you fork.\n\n### The Dockerfile\n\nBy default the Dockerfile pulls the latest n8n image, if you want to use a different or fixed version, then update the image tag on the top line of the `Dockerfile`.\n\n### Heroku and exposing ports\n\nHeroku doesn't allow Docker-based applications to define an exposed port with the `EXPOSE` command. Instead, Heroku provides a `PORT` environment variable that it dynamically populates at application runtime. The `entrypoint.sh` file overrides the default Docker image command to instead set the port variable that Heroku provides. You can then access n8n on port 80 in a web browser.\n\nDocker limitations with Heroku\n\n[Read this guide](https://devcenter.heroku.com/articles/container-registry-and-runtime#unsupported-dockerfile-commands) for more details on the limitations of using Docker with Heroku.\n\n### Configuring Heroku\n\nThe `heroku.yml` file defines the application you want to create on Heroku. It consists of two sections:\n\n- `setup` > `addons` defines the Heroku addons to use. In this case, the PostgreSQL database addon.\n- The `build` section defines how Heroku builds the application. In this case it uses the Docker buildpack to build a `web` service based on the supplied `Dockerfile`.\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
18027
18027
|
"excerpt": "# Hosting n8n on Heroku This hosting guide shows you how to self-host n8n on Heroku. It uses: - [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together. - [Heroku's PostgreSQL service](https://devcenter.heroku.com/categories/heroku-postgres) to host n8n's data storage. - A **Deploy to Heroku** button offering a one click, with minor configuration, deployment. Self-hosting knowledge prerequisites Self-hosting n8n requires t...",
|
|
18028
18028
|
"sections": [
|
|
18029
18029
|
{
|
|
@@ -18062,7 +18062,7 @@
|
|
|
18062
18062
|
"relatedPages": []
|
|
18063
18063
|
},
|
|
18064
18064
|
"searchIndex": {
|
|
18065
|
-
"fullText": "heroku # hosting n8n on heroku\n\nthis hosting guide shows you how to self-host n8n on heroku. it uses:\n\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n- [heroku's postgresql service](https://devcenter.heroku.com/categories/heroku-postgres) to host n8n's data storage.\n- a **deploy to heroku** button offering a one click, with minor configuration, deployment.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
18065
|
+
"fullText": "heroku # hosting n8n on heroku\n\nthis hosting guide shows you how to self-host n8n on heroku. it uses:\n\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n- [heroku's postgresql service](https://devcenter.heroku.com/categories/heroku-postgres) to host n8n's data storage.\n- a **deploy to heroku** button offering a one click, with minor configuration, deployment.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## use the deployment template to create a heroku project\n\nthe quickest way to get started with deploying n8n to heroku is using the **deploy to heroku** button:\n\nthis opens the **create new app** page on heroku. set a name for the project, and choose the region to deploy the project to.\n\n### configure environment variables\n\nheroku pre-fills the configuration options defined in the `env` section of the `app.json` file, which also sets default values for the environment variables n8n uses.\n\nyou can change any of these values to suit your needs. you must change the following values:\n\n- **n8n_encryption_key**, which n8n uses to [encrypt user account details](../../../configuration/environment-variables/deployment/) before saving to the database.\n- **webhook_url** should match the application name you create to ensure that webhooks have the correct url.\n\n### deploy n8n\n\nselect **deploy app**.\n\nafter heroku builds and deploys the app it provides links to **manage app** or **view** the application.\n\nheroku and dns\n\nrefer to the [heroku documentation](https://devcenter.heroku.com/categories/networking-dns) to find out how to connect your domain to a heroku application.\n\n## changing the deployment template\n\nyou can make changes to the deployment template by forking the [repository](https://github.com/n8n-io/n8n-heroku) and deploying from you fork.\n\n### the dockerfile\n\nby default the dockerfile pulls the latest n8n image, if you want to use a different or fixed version, then update the image tag on the top line of the `dockerfile`.\n\n### heroku and exposing ports\n\nheroku doesn't allow docker-based applications to define an exposed port with the `expose` command. instead, heroku provides a `port` environment variable that it dynamically populates at application runtime. the `entrypoint.sh` file overrides the default docker image command to instead set the port variable that heroku provides. you can then access n8n on port 80 in a web browser.\n\ndocker limitations with heroku\n\n[read this guide](https://devcenter.heroku.com/articles/container-registry-and-runtime#unsupported-dockerfile-commands) for more details on the limitations of using docker with heroku.\n\n### configuring heroku\n\nthe `heroku.yml` file defines the application you want to create on heroku. it consists of two sections:\n\n- `setup` > `addons` defines the heroku addons to use. in this case, the postgresql database addon.\n- the `build` section defines how heroku builds the application. in this case it uses the docker buildpack to build a `web` service based on the supplied `dockerfile`.\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on heroku",
|
|
18066
18066
|
"importantTerms": [
|
|
18067
18067
|
"heroku",
|
|
18068
18068
|
"application",
|
|
@@ -18111,7 +18111,7 @@
|
|
|
18111
18111
|
"nodeName": null,
|
|
18112
18112
|
"nodeType": null,
|
|
18113
18113
|
"content": {
|
|
18114
|
-
"markdown": "# Hosting n8n on Hetzner cloud\n\nThis hosting guide shows you how to self-host n8n on a Hetzner cloud server. It uses:\n\n- [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Server from the internet.\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.
|
|
18114
|
+
"markdown": "# Hosting n8n on Hetzner cloud\n\nThis hosting guide shows you how to self-host n8n on a Hetzner cloud server. It uses:\n\n- [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Server from the internet.\n- [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.21.5 Current `beta`: 2.22.0\n\n## Create a server\n\n1. [Log in](https://console.hetzner.cloud/) to the Hetzner Cloud Console.\n1. Select the project to host the server, or create a new project by selecting **+ NEW PROJECT**.\n1. Select **+ CREATE SERVER** on the project tile you want to add it to.\n\nYou can change most of the settings to suit your needs, but as this guide uses Docker to run the application, under the **Image** section, select \"Docker CE\" from the **APPS** tab.\n\nType\n\nWhen creating the server, Hetzner asks you to choose a plan. For most usage levels, the CPX11 type is enough.\n\nSSH keys\n\nHetzner lets you choose between SSH and password-based authentication. SSH is more secure. The rest of this guide assumes you are using SSH.\n\n## Log in to your server\n\nThe rest of this guide requires you to log in to the server using a terminal with SSH. Refer to [Access with SSH/rsync/BorgBackup](https://docs.hetzner.com/robot/storage-box/access/access-ssh-rsync-borg) for more information. You can find the public IP in the listing of the servers in your project.\n\n## Install Docker Compose\n\nThe Hetzner Docker app image doesn't have Docker compose installed. Install it with the following commands:\n\n```\napt update && apt -y upgrade\napt install docker-compose-plugin\n```\n\n## Clone configuration repository\n\nDocker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the root user folder of the server. The following steps will tell you which file to change and what changes to make.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-docker-caddy.git\n```\n\nAnd change directory to the root of the repository you cloned:\n\n```\ncd n8n-docker-caddy\n```\n\n## Default folders and files\n\nThe host operating system (the server) copies the two folders you created to Docker containers to make them available to Docker. The two folders are:\n\n- `caddy_config`: Holds the Caddy configuration files.\n- `local_files`: A folder for files you upload or add using n8n.\n\n### Create Docker volume\n\nTo persist the Caddy cache between restarts and speed up start times, create [a Docker volume](https://docs.docker.com/storage/volumes/) that Docker reuses between restarts:\n\n```\ndocker volume create caddy_data\n```\n\nCreate a Docker volume for the n8n data:\n\n```\nsudo docker volume create n8n_data\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the server. The exact steps for this depend on your DNS provider, but typically you need to create a new \"A\" record for the n8n subdomain. DigitalOcean provide [An Introduction to DNS Terminology, Components, and Concepts](https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts).\n\n## Open ports\n\nn8n runs as a web application, so the server needs to allow incoming access to traffic on port 80 for non-secure traffic, and port 443 for secure traffic.\n\nOpen the following ports in the server's firewall by running the following two commands:\n\n```\nsudo ufw allow 80\nsudo ufw allow 443\n```\n\n## Configure n8n\n\nn8n needs some environment variables set to pass to the application running in the Docker container. The example `.env` file contains placeholders you need to replace with values of your own.\n\nOpen the file with the following command:\n\n```\nnano .env\n```\n\nThe file contains inline comments to help you know what to change.\n\nRefer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## The Docker Compose file\n\nThe Docker Compose file (`docker-compose.yml`) defines the services the application needs, in this case Caddy and n8n.\n\n- The Caddy service definition defines the ports it uses and the local volumes to copy to the containers.\n- The n8n service definition defines the ports it uses, the environment variables n8n needs to run (some defined in the `.env` file), and the volumes it needs to copy to the containers.\n\nThe Docker Compose file uses the environment variables set in the `.env` file, so you shouldn't need to change it's content, but to take a look, run the following command:\n\n```\nnano docker-compose.yml\n```\n\n## Configure Caddy\n\nCaddy needs to know which domains it should serve, and which port to expose to the outside world. Edit the `Caddyfile` file in the `caddy_config` folder.\n\n```\nnano caddy_config/Caddyfile\n```\n\nChange the placeholder subdomain to yours. If you followed the steps to name the subdomain n8n, your full domain is similar to `n8n.example.com`. The `n8n` in the `reverse_proxy` setting tells Caddy to use the service definition defined in the `docker-compose.yml` file:\n\n```\nn8n.<domain>.<suffix> {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\n## Start Docker Compose\n\nStart n8n and Caddy with the following command:\n\n```\ndocker compose up -d\n```\n\nThis may take a few minutes.\n\n## Test your setup\n\nIn your browser, open the URL formed of the subdomain and domain name defined earlier. Enter the user name and password defined earlier, and you should be able to access n8n.\n\n## Stop n8n and Caddy\n\nYou can stop n8n and Caddy with the following command:\n\n```\nsudo docker compose stop\n```\n\n## Updating\n\nIf you run n8n using a Docker Compose file, follow these steps to update n8n:\n\n```\n# Navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# Pull latest version\ndocker compose pull\n\n# Stop and remove older version\ndocker compose down\n\n# Start the container\ndocker compose up -d\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
|
|
18115
18115
|
"excerpt": "# Hosting n8n on Hetzner cloud This hosting guide shows you how to self-host n8n on a Hetzner cloud server. It uses: - [Caddy](https://caddyserver.com) (a reverse proxy) to allow access to the Server from the internet. - [Docker Compose](https://docs.docker.com/compose/) to create and define the application components and how they work together. Self-hosting knowledge prerequisites Self-hosting n8n requires technical knowledge, including: - Setting up and configuring servers and containers...",
|
|
18116
18116
|
"sections": [
|
|
18117
18117
|
{
|
|
@@ -18190,7 +18190,7 @@
|
|
|
18190
18190
|
"relatedPages": []
|
|
18191
18191
|
},
|
|
18192
18192
|
"searchIndex": {
|
|
18193
|
-
"fullText": "hetzner # hosting n8n on hetzner cloud\n\nthis hosting guide shows you how to self-host n8n on a hetzner cloud server. it uses:\n\n- [caddy](https://caddyserver.com) (a reverse proxy) to allow access to the server from the internet.\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.
|
|
18193
|
+
"fullText": "hetzner # hosting n8n on hetzner cloud\n\nthis hosting guide shows you how to self-host n8n on a hetzner cloud server. it uses:\n\n- [caddy](https://caddyserver.com) (a reverse proxy) to allow access to the server from the internet.\n- [docker compose](https://docs.docker.com/compose/) to create and define the application components and how they work together.\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.21.5 current `beta`: 2.22.0\n\n## create a server\n\n1. [log in](https://console.hetzner.cloud/) to the hetzner cloud console.\n1. select the project to host the server, or create a new project by selecting **+ new project**.\n1. select **+ create server** on the project tile you want to add it to.\n\nyou can change most of the settings to suit your needs, but as this guide uses docker to run the application, under the **image** section, select \"docker ce\" from the **apps** tab.\n\ntype\n\nwhen creating the server, hetzner asks you to choose a plan. for most usage levels, the cpx11 type is enough.\n\nssh keys\n\nhetzner lets you choose between ssh and password-based authentication. ssh is more secure. the rest of this guide assumes you are using ssh.\n\n## log in to your server\n\nthe rest of this guide requires you to log in to the server using a terminal with ssh. refer to [access with ssh/rsync/borgbackup](https://docs.hetzner.com/robot/storage-box/access/access-ssh-rsync-borg) for more information. you can find the public ip in the listing of the servers in your project.\n\n## install docker compose\n\nthe hetzner docker app image doesn't have docker compose installed. install it with the following commands:\n\n```\napt update && apt -y upgrade\napt install docker-compose-plugin\n```\n\n## clone configuration repository\n\ndocker compose, n8n, and caddy require a series of folders and configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the root user folder of the server. the following steps will tell you which file to change and what changes to make.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-docker-caddy.git\n```\n\nand change directory to the root of the repository you cloned:\n\n```\ncd n8n-docker-caddy\n```\n\n## default folders and files\n\nthe host operating system (the server) copies the two folders you created to docker containers to make them available to docker. the two folders are:\n\n- `caddy_config`: holds the caddy configuration files.\n- `local_files`: a folder for files you upload or add using n8n.\n\n### create docker volume\n\nto persist the caddy cache between restarts and speed up start times, create [a docker volume](https://docs.docker.com/storage/volumes/) that docker reuses between restarts:\n\n```\ndocker volume create caddy_data\n```\n\ncreate a docker volume for the n8n data:\n\n```\nsudo docker volume create n8n_data\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the server. the exact steps for this depend on your dns provider, but typically you need to create a new \"a\" record for the n8n subdomain. digitalocean provide [an introduction to dns terminology, components, and concepts](https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts).\n\n## open ports\n\nn8n runs as a web application, so the server needs to allow incoming access to traffic on port 80 for non-secure traffic, and port 443 for secure traffic.\n\nopen the following ports in the server's firewall by running the following two commands:\n\n```\nsudo ufw allow 80\nsudo ufw allow 443\n```\n\n## configure n8n\n\nn8n needs some environment variables set to pass to the application running in the docker container. the example `.env` file contains placeholders you need to replace with values of your own.\n\nopen the file with the following command:\n\n```\nnano .env\n```\n\nthe file contains inline comments to help you know what to change.\n\nrefer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## the docker compose file\n\nthe docker compose file (`docker-compose.yml`) defines the services the application needs, in this case caddy and n8n.\n\n- the caddy service definition defines the ports it uses and the local volumes to copy to the containers.\n- the n8n service definition defines the ports it uses, the environment variables n8n needs to run (some defined in the `.env` file), and the volumes it needs to copy to the containers.\n\nthe docker compose file uses the environment variables set in the `.env` file, so you shouldn't need to change it's content, but to take a look, run the following command:\n\n```\nnano docker-compose.yml\n```\n\n## configure caddy\n\ncaddy needs to know which domains it should serve, and which port to expose to the outside world. edit the `caddyfile` file in the `caddy_config` folder.\n\n```\nnano caddy_config/caddyfile\n```\n\nchange the placeholder subdomain to yours. if you followed the steps to name the subdomain n8n, your full domain is similar to `n8n.example.com`. the `n8n` in the `reverse_proxy` setting tells caddy to use the service definition defined in the `docker-compose.yml` file:\n\n```\nn8n.<domain>.<suffix> {\n reverse_proxy n8n:5678 {\n flush_interval -1\n }\n}\n```\n\n## start docker compose\n\nstart n8n and caddy with the following command:\n\n```\ndocker compose up -d\n```\n\nthis may take a few minutes.\n\n## test your setup\n\nin your browser, open the url formed of the subdomain and domain name defined earlier. enter the user name and password defined earlier, and you should be able to access n8n.\n\n## stop n8n and caddy\n\nyou can stop n8n and caddy with the following command:\n\n```\nsudo docker compose stop\n```\n\n## updating\n\nif you run n8n using a docker compose file, follow these steps to update n8n:\n\n```\n# navigate to the directory containing your docker compose file\ncd </path/to/your/compose/file/directory>\n\n# pull latest version\ndocker compose pull\n\n# stop and remove older version\ndocker compose down\n\n# start the container\ndocker compose up -d\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on hetzner cloud navigate to the directory containing your docker compose file pull latest version stop and remove older version start the container",
|
|
18194
18194
|
"importantTerms": [
|
|
18195
18195
|
"docker",
|
|
18196
18196
|
"compose",
|
|
@@ -82779,6 +82779,49 @@
|
|
|
82779
82779
|
},
|
|
82780
82780
|
{
|
|
82781
82781
|
"id": "page-1115",
|
|
82782
|
+
"title": "PayPal Trigger",
|
|
82783
|
+
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger/index.md",
|
|
82784
|
+
"urlPath": "integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger/index.md",
|
|
82785
|
+
"category": "trigger-nodes",
|
|
82786
|
+
"subcategory": null,
|
|
82787
|
+
"nodeName": "paypaltrigger",
|
|
82788
|
+
"nodeType": "n8n-nodes-base.paypaltrigger",
|
|
82789
|
+
"content": {
|
|
82790
|
+
"markdown": "# PayPal Trigger node\n\n[PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\nCredentials\n\nYou can find authentication information for this node [here](../../credentials/paypal/).\n\nExamples and templates\n\nFor usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page.\n",
|
|
82791
|
+
"excerpt": "# PayPal Trigger node [PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online. Credentials You can find authentication information for this node [here](../../credentials/paypal/). Examples and templates For usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page....",
|
|
82792
|
+
"sections": [
|
|
82793
|
+
{
|
|
82794
|
+
"title": "PayPal Trigger node",
|
|
82795
|
+
"level": 1,
|
|
82796
|
+
"content": "[PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\nCredentials\n\nYou can find authentication information for this node [here](../../credentials/paypal/).\n\nExamples and templates\n\nFor usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page."
|
|
82797
|
+
}
|
|
82798
|
+
]
|
|
82799
|
+
},
|
|
82800
|
+
"metadata": {
|
|
82801
|
+
"keywords": [
|
|
82802
|
+
"paypal",
|
|
82803
|
+
"trigger",
|
|
82804
|
+
"node"
|
|
82805
|
+
],
|
|
82806
|
+
"useCases": [],
|
|
82807
|
+
"operations": [],
|
|
82808
|
+
"codeExamples": 0,
|
|
82809
|
+
"complexity": "beginner",
|
|
82810
|
+
"readingTime": "1 min",
|
|
82811
|
+
"contentLength": 444,
|
|
82812
|
+
"relatedPages": []
|
|
82813
|
+
},
|
|
82814
|
+
"searchIndex": {
|
|
82815
|
+
"fullText": "paypal trigger # paypal trigger node\n\n[paypal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\ncredentials\n\nyou can find authentication information for this node [here](../../credentials/paypal/).\n\nexamples and templates\n\nfor usage examples and templates to help you get started, refer to n8n's [paypal trigger integrations](https://n8n.io/integrations/paypal-trigger/) page.\n paypal trigger node",
|
|
82816
|
+
"importantTerms": [
|
|
82817
|
+
"paypal",
|
|
82818
|
+
"trigger",
|
|
82819
|
+
"node"
|
|
82820
|
+
]
|
|
82821
|
+
}
|
|
82822
|
+
},
|
|
82823
|
+
{
|
|
82824
|
+
"id": "page-1116",
|
|
82782
82825
|
"title": "Pipedrive Trigger",
|
|
82783
82826
|
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger/index.md",
|
|
82784
82827
|
"urlPath": "integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger/index.md",
|
|
@@ -82821,7 +82864,7 @@
|
|
|
82821
82864
|
}
|
|
82822
82865
|
},
|
|
82823
82866
|
{
|
|
82824
|
-
"id": "page-
|
|
82867
|
+
"id": "page-1117",
|
|
82825
82868
|
"title": "Postgres Trigger",
|
|
82826
82869
|
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.postgrestrigger/index.md",
|
|
82827
82870
|
"urlPath": "integrations/builtin/trigger-nodes/n8n-nodes-base.postgrestrigger/index.md",
|
|
@@ -82875,49 +82918,6 @@
|
|
|
82875
82918
|
]
|
|
82876
82919
|
}
|
|
82877
82920
|
},
|
|
82878
|
-
{
|
|
82879
|
-
"id": "page-1117",
|
|
82880
|
-
"title": "PayPal Trigger",
|
|
82881
|
-
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger/index.md",
|
|
82882
|
-
"urlPath": "integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger/index.md",
|
|
82883
|
-
"category": "trigger-nodes",
|
|
82884
|
-
"subcategory": null,
|
|
82885
|
-
"nodeName": "paypaltrigger",
|
|
82886
|
-
"nodeType": "n8n-nodes-base.paypaltrigger",
|
|
82887
|
-
"content": {
|
|
82888
|
-
"markdown": "# PayPal Trigger node\n\n[PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\nCredentials\n\nYou can find authentication information for this node [here](../../credentials/paypal/).\n\nExamples and templates\n\nFor usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page.\n",
|
|
82889
|
-
"excerpt": "# PayPal Trigger node [PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online. Credentials You can find authentication information for this node [here](../../credentials/paypal/). Examples and templates For usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page....",
|
|
82890
|
-
"sections": [
|
|
82891
|
-
{
|
|
82892
|
-
"title": "PayPal Trigger node",
|
|
82893
|
-
"level": 1,
|
|
82894
|
-
"content": "[PayPal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\nCredentials\n\nYou can find authentication information for this node [here](../../credentials/paypal/).\n\nExamples and templates\n\nFor usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/) page."
|
|
82895
|
-
}
|
|
82896
|
-
]
|
|
82897
|
-
},
|
|
82898
|
-
"metadata": {
|
|
82899
|
-
"keywords": [
|
|
82900
|
-
"paypal",
|
|
82901
|
-
"trigger",
|
|
82902
|
-
"node"
|
|
82903
|
-
],
|
|
82904
|
-
"useCases": [],
|
|
82905
|
-
"operations": [],
|
|
82906
|
-
"codeExamples": 0,
|
|
82907
|
-
"complexity": "beginner",
|
|
82908
|
-
"readingTime": "1 min",
|
|
82909
|
-
"contentLength": 444,
|
|
82910
|
-
"relatedPages": []
|
|
82911
|
-
},
|
|
82912
|
-
"searchIndex": {
|
|
82913
|
-
"fullText": "paypal trigger # paypal trigger node\n\n[paypal](https://paypal.com) is a digital payment service that supports online fund transfers that customers can use when shopping online.\n\ncredentials\n\nyou can find authentication information for this node [here](../../credentials/paypal/).\n\nexamples and templates\n\nfor usage examples and templates to help you get started, refer to n8n's [paypal trigger integrations](https://n8n.io/integrations/paypal-trigger/) page.\n paypal trigger node",
|
|
82914
|
-
"importantTerms": [
|
|
82915
|
-
"paypal",
|
|
82916
|
-
"trigger",
|
|
82917
|
-
"node"
|
|
82918
|
-
]
|
|
82919
|
-
}
|
|
82920
|
-
},
|
|
82921
82921
|
{
|
|
82922
82922
|
"id": "page-1118",
|
|
82923
82923
|
"title": "Postmark Trigger",
|
|
@@ -90275,65 +90275,6 @@
|
|
|
90275
90275
|
},
|
|
90276
90276
|
{
|
|
90277
90277
|
"id": "page-1226",
|
|
90278
|
-
"title": "Source control and environments",
|
|
90279
|
-
"url": "https://docs.n8n.io/source-control-environments/index.md",
|
|
90280
|
-
"urlPath": "source-control-environments/index.md",
|
|
90281
|
-
"category": "other",
|
|
90282
|
-
"subcategory": null,
|
|
90283
|
-
"nodeName": null,
|
|
90284
|
-
"nodeType": null,
|
|
90285
|
-
"content": {
|
|
90286
|
-
"markdown": "# Source control and environments\n\nFeature availability\n\n- Available on Business and Enterprise plans.\n- You must be an n8n instance owner or instance admin to enable and configure source control.\n- Instance owners and instance admins can push changes to and pull changes from the connected repository.\n- Project admins can push changes to the connected repository. They can't pull changes from the repository.\n\nn8n uses Git-based source control to support environments. Linking your n8n instances to a Git repository lets you create multiple n8n environments, backed by Git branches.\n\nIn this section:\n\n- [Understand](understand/):\n - [Environments in n8n](understand/environments/): The purpose of environments, and how they work in n8n.\n - [Git and n8n](understand/git/): How n8n uses Git.\n - [Branch patterns](understand/patterns/): The possible relationships between n8n instances and Git branches.\n- [Set up source control for environments](setup/): How to connect your n8n instance to Git.\n- [Using](using/):\n - [Push and pull](using/push-pull/): Send work to Git, and fetch work from Git to your instance.\n - [Copy work between environments](using/copy-work/): How to copy work between different n8n instances.\n- [Tutorial: Create environments with source control](create-environments/): An end-to-end tutorial, setting up environments using n8n's recommended configurations.\n\nRelated sections:\n\n- [Variables](../code/variables/): reusable values.\n- [External secrets](../external-secrets/): manage [credentials](../glossary/#credential-n8n) with an external secrets vault.\n",
|
|
90287
|
-
"excerpt": "# Source control and environments Feature availability - Available on Business and Enterprise plans. - You must be an n8n instance owner or instance admin to enable and configure source control. - Instance owners and instance admins can push changes to and pull changes from the connected repository. - Project admins can push changes to the connected repository. They can't pull changes from the repository. n8n uses Git-based source control to support environments. Linking your n8n instances to...",
|
|
90288
|
-
"sections": [
|
|
90289
|
-
{
|
|
90290
|
-
"title": "Source control and environments",
|
|
90291
|
-
"level": 1,
|
|
90292
|
-
"content": "Feature availability\n\n- Available on Business and Enterprise plans.\n- You must be an n8n instance owner or instance admin to enable and configure source control.\n- Instance owners and instance admins can push changes to and pull changes from the connected repository.\n- Project admins can push changes to the connected repository. They can't pull changes from the repository.\n\nn8n uses Git-based source control to support environments. Linking your n8n instances to a Git repository lets you create multiple n8n environments, backed by Git branches.\n\nIn this section:\n\n- [Understand](understand/):\n - [Environments in n8n](understand/environments/): The purpose of environments, and how they work in n8n.\n - [Git and n8n](understand/git/): How n8n uses Git.\n - [Branch patterns](understand/patterns/): The possible relationships between n8n instances and Git branches.\n- [Set up source control for environments](setup/): How to connect your n8n instance to Git.\n- [Using](using/):\n - [Push and pu"
|
|
90293
|
-
}
|
|
90294
|
-
]
|
|
90295
|
-
},
|
|
90296
|
-
"metadata": {
|
|
90297
|
-
"keywords": [
|
|
90298
|
-
"source",
|
|
90299
|
-
"control",
|
|
90300
|
-
"environments"
|
|
90301
|
-
],
|
|
90302
|
-
"useCases": [],
|
|
90303
|
-
"operations": [],
|
|
90304
|
-
"codeExamples": 0,
|
|
90305
|
-
"complexity": "beginner",
|
|
90306
|
-
"readingTime": "2 min",
|
|
90307
|
-
"contentLength": 1587,
|
|
90308
|
-
"relatedPages": []
|
|
90309
|
-
},
|
|
90310
|
-
"searchIndex": {
|
|
90311
|
-
"fullText": "source control and environments # source control and environments\n\nfeature availability\n\n- available on business and enterprise plans.\n- you must be an n8n instance owner or instance admin to enable and configure source control.\n- instance owners and instance admins can push changes to and pull changes from the connected repository.\n- project admins can push changes to the connected repository. they can't pull changes from the repository.\n\nn8n uses git-based source control to support environments. linking your n8n instances to a git repository lets you create multiple n8n environments, backed by git branches.\n\nin this section:\n\n- [understand](understand/):\n - [environments in n8n](understand/environments/): the purpose of environments, and how they work in n8n.\n - [git and n8n](understand/git/): how n8n uses git.\n - [branch patterns](understand/patterns/): the possible relationships between n8n instances and git branches.\n- [set up source control for environments](setup/): how to connect your n8n instance to git.\n- [using](using/):\n - [push and pull](using/push-pull/): send work to git, and fetch work from git to your instance.\n - [copy work between environments](using/copy-work/): how to copy work between different n8n instances.\n- [tutorial: create environments with source control](create-environments/): an end-to-end tutorial, setting up environments using n8n's recommended configurations.\n\nrelated sections:\n\n- [variables](../code/variables/): reusable values.\n- [external secrets](../external-secrets/): manage [credentials](../glossary/#credential-n8n) with an external secrets vault.\n source control and environments",
|
|
90312
|
-
"importantTerms": [
|
|
90313
|
-
"environments",
|
|
90314
|
-
"source",
|
|
90315
|
-
"control",
|
|
90316
|
-
"instance",
|
|
90317
|
-
"work",
|
|
90318
|
-
"understand",
|
|
90319
|
-
"using",
|
|
90320
|
-
"push",
|
|
90321
|
-
"changes",
|
|
90322
|
-
"pull",
|
|
90323
|
-
"repository",
|
|
90324
|
-
"from",
|
|
90325
|
-
"your",
|
|
90326
|
-
"instances",
|
|
90327
|
-
"create",
|
|
90328
|
-
"between",
|
|
90329
|
-
"copy",
|
|
90330
|
-
"external",
|
|
90331
|
-
"secrets"
|
|
90332
|
-
]
|
|
90333
|
-
}
|
|
90334
|
-
},
|
|
90335
|
-
{
|
|
90336
|
-
"id": "page-1227",
|
|
90337
90278
|
"title": "1.x",
|
|
90338
90279
|
"url": "https://docs.n8n.io/release-notes/1-x/index.md",
|
|
90339
90280
|
"urlPath": "release-notes/1-x/index.md",
|
|
@@ -90709,6 +90650,65 @@
|
|
|
90709
90650
|
]
|
|
90710
90651
|
}
|
|
90711
90652
|
},
|
|
90653
|
+
{
|
|
90654
|
+
"id": "page-1227",
|
|
90655
|
+
"title": "Source control and environments",
|
|
90656
|
+
"url": "https://docs.n8n.io/source-control-environments/index.md",
|
|
90657
|
+
"urlPath": "source-control-environments/index.md",
|
|
90658
|
+
"category": "other",
|
|
90659
|
+
"subcategory": null,
|
|
90660
|
+
"nodeName": null,
|
|
90661
|
+
"nodeType": null,
|
|
90662
|
+
"content": {
|
|
90663
|
+
"markdown": "# Source control and environments\n\nFeature availability\n\n- Available on Business and Enterprise plans.\n- You must be an n8n instance owner or instance admin to enable and configure source control.\n- Instance owners and instance admins can push changes to and pull changes from the connected repository.\n- Project admins can push changes to the connected repository. They can't pull changes from the repository.\n\nn8n uses Git-based source control to support environments. Linking your n8n instances to a Git repository lets you create multiple n8n environments, backed by Git branches.\n\nIn this section:\n\n- [Understand](understand/):\n - [Environments in n8n](understand/environments/): The purpose of environments, and how they work in n8n.\n - [Git and n8n](understand/git/): How n8n uses Git.\n - [Branch patterns](understand/patterns/): The possible relationships between n8n instances and Git branches.\n- [Set up source control for environments](setup/): How to connect your n8n instance to Git.\n- [Using](using/):\n - [Push and pull](using/push-pull/): Send work to Git, and fetch work from Git to your instance.\n - [Copy work between environments](using/copy-work/): How to copy work between different n8n instances.\n- [Tutorial: Create environments with source control](create-environments/): An end-to-end tutorial, setting up environments using n8n's recommended configurations.\n\nRelated sections:\n\n- [Variables](../code/variables/): reusable values.\n- [External secrets](../external-secrets/): manage [credentials](../glossary/#credential-n8n) with an external secrets vault.\n",
|
|
90664
|
+
"excerpt": "# Source control and environments Feature availability - Available on Business and Enterprise plans. - You must be an n8n instance owner or instance admin to enable and configure source control. - Instance owners and instance admins can push changes to and pull changes from the connected repository. - Project admins can push changes to the connected repository. They can't pull changes from the repository. n8n uses Git-based source control to support environments. Linking your n8n instances to...",
|
|
90665
|
+
"sections": [
|
|
90666
|
+
{
|
|
90667
|
+
"title": "Source control and environments",
|
|
90668
|
+
"level": 1,
|
|
90669
|
+
"content": "Feature availability\n\n- Available on Business and Enterprise plans.\n- You must be an n8n instance owner or instance admin to enable and configure source control.\n- Instance owners and instance admins can push changes to and pull changes from the connected repository.\n- Project admins can push changes to the connected repository. They can't pull changes from the repository.\n\nn8n uses Git-based source control to support environments. Linking your n8n instances to a Git repository lets you create multiple n8n environments, backed by Git branches.\n\nIn this section:\n\n- [Understand](understand/):\n - [Environments in n8n](understand/environments/): The purpose of environments, and how they work in n8n.\n - [Git and n8n](understand/git/): How n8n uses Git.\n - [Branch patterns](understand/patterns/): The possible relationships between n8n instances and Git branches.\n- [Set up source control for environments](setup/): How to connect your n8n instance to Git.\n- [Using](using/):\n - [Push and pu"
|
|
90670
|
+
}
|
|
90671
|
+
]
|
|
90672
|
+
},
|
|
90673
|
+
"metadata": {
|
|
90674
|
+
"keywords": [
|
|
90675
|
+
"source",
|
|
90676
|
+
"control",
|
|
90677
|
+
"environments"
|
|
90678
|
+
],
|
|
90679
|
+
"useCases": [],
|
|
90680
|
+
"operations": [],
|
|
90681
|
+
"codeExamples": 0,
|
|
90682
|
+
"complexity": "beginner",
|
|
90683
|
+
"readingTime": "2 min",
|
|
90684
|
+
"contentLength": 1587,
|
|
90685
|
+
"relatedPages": []
|
|
90686
|
+
},
|
|
90687
|
+
"searchIndex": {
|
|
90688
|
+
"fullText": "source control and environments # source control and environments\n\nfeature availability\n\n- available on business and enterprise plans.\n- you must be an n8n instance owner or instance admin to enable and configure source control.\n- instance owners and instance admins can push changes to and pull changes from the connected repository.\n- project admins can push changes to the connected repository. they can't pull changes from the repository.\n\nn8n uses git-based source control to support environments. linking your n8n instances to a git repository lets you create multiple n8n environments, backed by git branches.\n\nin this section:\n\n- [understand](understand/):\n - [environments in n8n](understand/environments/): the purpose of environments, and how they work in n8n.\n - [git and n8n](understand/git/): how n8n uses git.\n - [branch patterns](understand/patterns/): the possible relationships between n8n instances and git branches.\n- [set up source control for environments](setup/): how to connect your n8n instance to git.\n- [using](using/):\n - [push and pull](using/push-pull/): send work to git, and fetch work from git to your instance.\n - [copy work between environments](using/copy-work/): how to copy work between different n8n instances.\n- [tutorial: create environments with source control](create-environments/): an end-to-end tutorial, setting up environments using n8n's recommended configurations.\n\nrelated sections:\n\n- [variables](../code/variables/): reusable values.\n- [external secrets](../external-secrets/): manage [credentials](../glossary/#credential-n8n) with an external secrets vault.\n source control and environments",
|
|
90689
|
+
"importantTerms": [
|
|
90690
|
+
"environments",
|
|
90691
|
+
"source",
|
|
90692
|
+
"control",
|
|
90693
|
+
"instance",
|
|
90694
|
+
"work",
|
|
90695
|
+
"understand",
|
|
90696
|
+
"using",
|
|
90697
|
+
"push",
|
|
90698
|
+
"changes",
|
|
90699
|
+
"pull",
|
|
90700
|
+
"repository",
|
|
90701
|
+
"from",
|
|
90702
|
+
"your",
|
|
90703
|
+
"instances",
|
|
90704
|
+
"create",
|
|
90705
|
+
"between",
|
|
90706
|
+
"copy",
|
|
90707
|
+
"external",
|
|
90708
|
+
"secrets"
|
|
90709
|
+
]
|
|
90710
|
+
}
|
|
90711
|
+
},
|
|
90712
90712
|
{
|
|
90713
90713
|
"id": "page-1228",
|
|
90714
90714
|
"title": "Tutorial: Create environments with source control",
|
|
@@ -94890,7 +94890,7 @@
|
|
|
94890
94890
|
"page-0002",
|
|
94891
94891
|
"page-0012",
|
|
94892
94892
|
"page-1185",
|
|
94893
|
-
"page-
|
|
94893
|
+
"page-1226"
|
|
94894
94894
|
],
|
|
94895
94895
|
"guide": [
|
|
94896
94896
|
"page-0002",
|
|
@@ -94909,7 +94909,7 @@
|
|
|
94909
94909
|
"page-0717",
|
|
94910
94910
|
"page-1188",
|
|
94911
94911
|
"page-1225",
|
|
94912
|
-
"page-
|
|
94912
|
+
"page-1226"
|
|
94913
94913
|
],
|
|
94914
94914
|
"python": [
|
|
94915
94915
|
"page-0002",
|
|
@@ -94917,7 +94917,7 @@
|
|
|
94917
94917
|
"page-0053",
|
|
94918
94918
|
"page-0637",
|
|
94919
94919
|
"page-0717",
|
|
94920
|
-
"page-
|
|
94920
|
+
"page-1226"
|
|
94921
94921
|
],
|
|
94922
94922
|
"support": [
|
|
94923
94923
|
"page-0002",
|
|
@@ -94930,7 +94930,7 @@
|
|
|
94930
94930
|
"page-0603",
|
|
94931
94931
|
"page-0700",
|
|
94932
94932
|
"page-1190",
|
|
94933
|
-
"page-
|
|
94933
|
+
"page-1226"
|
|
94934
94934
|
],
|
|
94935
94935
|
"code": [
|
|
94936
94936
|
"page-0002",
|
|
@@ -94969,7 +94969,7 @@
|
|
|
94969
94969
|
"page-1182",
|
|
94970
94970
|
"page-1188",
|
|
94971
94971
|
"page-1225",
|
|
94972
|
-
"page-
|
|
94972
|
+
"page-1226",
|
|
94973
94973
|
"page-1279"
|
|
94974
94974
|
],
|
|
94975
94975
|
"node": [
|
|
@@ -95605,7 +95605,7 @@
|
|
|
95605
95605
|
"page-1208",
|
|
95606
95606
|
"page-1209",
|
|
95607
95607
|
"page-1225",
|
|
95608
|
-
"page-
|
|
95608
|
+
"page-1226",
|
|
95609
95609
|
"page-1235",
|
|
95610
95610
|
"page-1239",
|
|
95611
95611
|
"page-1240",
|
|
@@ -95631,7 +95631,7 @@
|
|
|
95631
95631
|
"page-0691",
|
|
95632
95632
|
"page-1213",
|
|
95633
95633
|
"page-1225",
|
|
95634
|
-
"page-
|
|
95634
|
+
"page-1226",
|
|
95635
95635
|
"page-1252",
|
|
95636
95636
|
"page-1266",
|
|
95637
95637
|
"page-1277",
|
|
@@ -95671,7 +95671,7 @@
|
|
|
95671
95671
|
"page-0224",
|
|
95672
95672
|
"page-0691",
|
|
95673
95673
|
"page-0727",
|
|
95674
|
-
"page-
|
|
95674
|
+
"page-1226",
|
|
95675
95675
|
"page-1266",
|
|
95676
95676
|
"page-1277",
|
|
95677
95677
|
"page-1278",
|
|
@@ -95725,7 +95725,7 @@
|
|
|
95725
95725
|
"page-0990",
|
|
95726
95726
|
"page-1158",
|
|
95727
95727
|
"page-1216",
|
|
95728
|
-
"page-
|
|
95728
|
+
"page-1226"
|
|
95729
95729
|
],
|
|
95730
95730
|
"breaking": [
|
|
95731
95731
|
"page-0002",
|
|
@@ -95770,7 +95770,7 @@
|
|
|
95770
95770
|
"page-0440",
|
|
95771
95771
|
"page-0894",
|
|
95772
95772
|
"page-1152",
|
|
95773
|
-
"page-
|
|
95773
|
+
"page-1226",
|
|
95774
95774
|
"page-1267"
|
|
95775
95775
|
],
|
|
95776
95776
|
"change": [
|
|
@@ -95800,7 +95800,7 @@
|
|
|
95800
95800
|
],
|
|
95801
95801
|
"removal": [
|
|
95802
95802
|
"page-0002",
|
|
95803
|
-
"page-
|
|
95803
|
+
"page-1226"
|
|
95804
95804
|
],
|
|
95805
95805
|
"entrypoint": [
|
|
95806
95806
|
"page-0002"
|
|
@@ -95863,7 +95863,7 @@
|
|
|
95863
95863
|
"page-1169",
|
|
95864
95864
|
"page-1213",
|
|
95865
95865
|
"page-1225",
|
|
95866
|
-
"page-
|
|
95866
|
+
"page-1226",
|
|
95867
95867
|
"page-1235",
|
|
95868
95868
|
"page-1237",
|
|
95869
95869
|
"page-1239",
|
|
@@ -96003,7 +96003,7 @@
|
|
|
96003
96003
|
"page-1048",
|
|
96004
96004
|
"page-1158",
|
|
96005
96005
|
"page-1225",
|
|
96006
|
-
"page-
|
|
96006
|
+
"page-1226",
|
|
96007
96007
|
"page-1252",
|
|
96008
96008
|
"page-1276",
|
|
96009
96009
|
"page-1279"
|
|
@@ -96060,7 +96060,7 @@
|
|
|
96060
96060
|
"page-1201",
|
|
96061
96061
|
"page-1204",
|
|
96062
96062
|
"page-1225",
|
|
96063
|
-
"page-
|
|
96063
|
+
"page-1226",
|
|
96064
96064
|
"page-1268",
|
|
96065
96065
|
"page-1269",
|
|
96066
96066
|
"page-1275",
|
|
@@ -96082,7 +96082,7 @@
|
|
|
96082
96082
|
"page-0708",
|
|
96083
96083
|
"page-0728",
|
|
96084
96084
|
"page-1162",
|
|
96085
|
-
"page-
|
|
96085
|
+
"page-1226"
|
|
96086
96086
|
],
|
|
96087
96087
|
"transformation": [
|
|
96088
96088
|
"page-0002",
|
|
@@ -96090,14 +96090,14 @@
|
|
|
96090
96090
|
"page-0102",
|
|
96091
96091
|
"page-0103",
|
|
96092
96092
|
"page-0660",
|
|
96093
|
-
"page-
|
|
96093
|
+
"page-1226"
|
|
96094
96094
|
],
|
|
96095
96095
|
"functions": [
|
|
96096
96096
|
"page-0002",
|
|
96097
96097
|
"page-0133",
|
|
96098
96098
|
"page-0153",
|
|
96099
96099
|
"page-0575",
|
|
96100
|
-
"page-
|
|
96100
|
+
"page-1226"
|
|
96101
96101
|
],
|
|
96102
96102
|
"data": [
|
|
96103
96103
|
"page-0002",
|
|
@@ -96184,7 +96184,7 @@
|
|
|
96184
96184
|
"page-1213",
|
|
96185
96185
|
"page-1223",
|
|
96186
96186
|
"page-1225",
|
|
96187
|
-
"page-
|
|
96187
|
+
"page-1226",
|
|
96188
96188
|
"page-1237",
|
|
96189
96189
|
"page-1240",
|
|
96190
96190
|
"page-1252",
|
|
@@ -96205,7 +96205,7 @@
|
|
|
96205
96205
|
"page-0003",
|
|
96206
96206
|
"page-0210",
|
|
96207
96207
|
"page-0240",
|
|
96208
|
-
"page-
|
|
96208
|
+
"page-1226"
|
|
96209
96209
|
],
|
|
96210
96210
|
"deprecated": [
|
|
96211
96211
|
"page-0002",
|
|
@@ -96234,7 +96234,7 @@
|
|
|
96234
96234
|
"page-1182",
|
|
96235
96235
|
"page-1185",
|
|
96236
96236
|
"page-1223",
|
|
96237
|
-
"page-
|
|
96237
|
+
"page-1226"
|
|
96238
96238
|
],
|
|
96239
96239
|
"webhook": [
|
|
96240
96240
|
"page-0002",
|
|
@@ -96259,7 +96259,7 @@
|
|
|
96259
96259
|
"page-1130",
|
|
96260
96260
|
"page-1131",
|
|
96261
96261
|
"page-1164",
|
|
96262
|
-
"page-
|
|
96262
|
+
"page-1226"
|
|
96263
96263
|
],
|
|
96264
96264
|
"tunnel": [
|
|
96265
96265
|
"page-0002",
|
|
@@ -96282,7 +96282,7 @@
|
|
|
96282
96282
|
"page-0540",
|
|
96283
96283
|
"page-0547",
|
|
96284
96284
|
"page-0727",
|
|
96285
|
-
"page-
|
|
96285
|
+
"page-1226",
|
|
96286
96286
|
"page-1253"
|
|
96287
96287
|
],
|
|
96288
96288
|
"updating": [
|
|
@@ -96502,7 +96502,7 @@
|
|
|
96502
96502
|
"page-1172",
|
|
96503
96503
|
"page-1173",
|
|
96504
96504
|
"page-1212",
|
|
96505
|
-
"page-
|
|
96505
|
+
"page-1226",
|
|
96506
96506
|
"page-1228",
|
|
96507
96507
|
"page-1240",
|
|
96508
96508
|
"page-1257",
|
|
@@ -96578,7 +96578,7 @@
|
|
|
96578
96578
|
"page-0730",
|
|
96579
96579
|
"page-0733",
|
|
96580
96580
|
"page-1217",
|
|
96581
|
-
"page-
|
|
96581
|
+
"page-1226",
|
|
96582
96582
|
"page-1237",
|
|
96583
96583
|
"page-1253",
|
|
96584
96584
|
"page-1261",
|
|
@@ -96601,7 +96601,7 @@
|
|
|
96601
96601
|
"page-0207",
|
|
96602
96602
|
"page-0210",
|
|
96603
96603
|
"page-0235",
|
|
96604
|
-
"page-
|
|
96604
|
+
"page-1226"
|
|
96605
96605
|
],
|
|
96606
96606
|
"security": [
|
|
96607
96607
|
"page-0003",
|
|
@@ -96623,7 +96623,7 @@
|
|
|
96623
96623
|
"page-1155",
|
|
96624
96624
|
"page-1221",
|
|
96625
96625
|
"page-1225",
|
|
96626
|
-
"page-
|
|
96626
|
+
"page-1226",
|
|
96627
96627
|
"page-1255",
|
|
96628
96628
|
"page-1282"
|
|
96629
96629
|
],
|
|
@@ -96778,7 +96778,7 @@
|
|
|
96778
96778
|
"enforce": [
|
|
96779
96779
|
"page-0003",
|
|
96780
96780
|
"page-0014",
|
|
96781
|
-
"page-
|
|
96781
|
+
"page-1226"
|
|
96782
96782
|
],
|
|
96783
96783
|
"settings": [
|
|
96784
96784
|
"page-0003",
|
|
@@ -96876,20 +96876,20 @@
|
|
|
96876
96876
|
"page-0193",
|
|
96877
96877
|
"page-0228",
|
|
96878
96878
|
"page-0284",
|
|
96879
|
-
"page-
|
|
96879
|
+
"page-1226"
|
|
96880
96880
|
],
|
|
96881
96881
|
"runners": [
|
|
96882
96882
|
"page-0003",
|
|
96883
96883
|
"page-0156",
|
|
96884
96884
|
"page-0193",
|
|
96885
96885
|
"page-0228",
|
|
96886
|
-
"page-
|
|
96886
|
+
"page-1226"
|
|
96887
96887
|
],
|
|
96888
96888
|
"runner": [
|
|
96889
96889
|
"page-0003",
|
|
96890
96890
|
"page-0156",
|
|
96891
96891
|
"page-0193",
|
|
96892
|
-
"page-
|
|
96892
|
+
"page-1226"
|
|
96893
96893
|
],
|
|
96894
96894
|
"`n8nio/n8n`": [
|
|
96895
96895
|
"page-0003"
|
|
@@ -96944,7 +96944,7 @@
|
|
|
96944
96944
|
"page-1182",
|
|
96945
96945
|
"page-1191",
|
|
96946
96946
|
"page-1192",
|
|
96947
|
-
"page-
|
|
96947
|
+
"page-1226"
|
|
96948
96948
|
],
|
|
96949
96949
|
"disable": [
|
|
96950
96950
|
"page-0003",
|
|
@@ -97300,7 +97300,7 @@
|
|
|
97300
97300
|
"page-1177",
|
|
97301
97301
|
"page-1180",
|
|
97302
97302
|
"page-1225",
|
|
97303
|
-
"page-
|
|
97303
|
+
"page-1226",
|
|
97304
97304
|
"page-1229",
|
|
97305
97305
|
"page-1247"
|
|
97306
97306
|
],
|
|
@@ -97316,7 +97316,7 @@
|
|
|
97316
97316
|
"page-1047",
|
|
97317
97317
|
"page-1048",
|
|
97318
97318
|
"page-1191",
|
|
97319
|
-
"page-
|
|
97319
|
+
"page-1226"
|
|
97320
97320
|
],
|
|
97321
97321
|
"callback": [
|
|
97322
97322
|
"page-0003",
|
|
@@ -97357,7 +97357,7 @@
|
|
|
97357
97357
|
"page-0003",
|
|
97358
97358
|
"page-0100",
|
|
97359
97359
|
"page-1190",
|
|
97360
|
-
"page-
|
|
97360
|
+
"page-1226"
|
|
97361
97361
|
],
|
|
97362
97362
|
"mysql/mariadb": [
|
|
97363
97363
|
"page-0003"
|
|
@@ -97397,7 +97397,7 @@
|
|
|
97397
97397
|
"page-0666",
|
|
97398
97398
|
"page-0713",
|
|
97399
97399
|
"page-1213",
|
|
97400
|
-
"page-
|
|
97400
|
+
"page-1226"
|
|
97401
97401
|
],
|
|
97402
97402
|
"binary": [
|
|
97403
97403
|
"page-0003",
|
|
@@ -97413,7 +97413,7 @@
|
|
|
97413
97413
|
"page-0703",
|
|
97414
97414
|
"page-0725",
|
|
97415
97415
|
"page-1205",
|
|
97416
|
-
"page-
|
|
97416
|
+
"page-1226"
|
|
97417
97417
|
],
|
|
97418
97418
|
"configuration": [
|
|
97419
97419
|
"page-0003",
|
|
@@ -97460,7 +97460,7 @@
|
|
|
97460
97460
|
],
|
|
97461
97461
|
"`n8n": [
|
|
97462
97462
|
"page-0003",
|
|
97463
|
-
"page-
|
|
97463
|
+
"page-1226"
|
|
97464
97464
|
],
|
|
97465
97465
|
"tunnel`": [
|
|
97466
97466
|
"page-0003"
|
|
@@ -97479,7 +97479,7 @@
|
|
|
97479
97479
|
"page-0218",
|
|
97480
97480
|
"page-0224",
|
|
97481
97481
|
"page-1216",
|
|
97482
|
-
"page-
|
|
97482
|
+
"page-1226"
|
|
97483
97483
|
],
|
|
97484
97484
|
"worker": [
|
|
97485
97485
|
"page-0003",
|
|
@@ -97517,7 +97517,7 @@
|
|
|
97517
97517
|
"page-1183",
|
|
97518
97518
|
"page-1186",
|
|
97519
97519
|
"page-1187",
|
|
97520
|
-
"page-
|
|
97520
|
+
"page-1226"
|
|
97521
97521
|
],
|
|
97522
97522
|
"replace": [
|
|
97523
97523
|
"page-0003",
|
|
@@ -97557,7 +97557,7 @@
|
|
|
97557
97557
|
"page-0717",
|
|
97558
97558
|
"page-0963",
|
|
97559
97559
|
"page-1192",
|
|
97560
|
-
"page-
|
|
97560
|
+
"page-1226",
|
|
97561
97561
|
"page-1253"
|
|
97562
97562
|
],
|
|
97563
97563
|
"hooks": [
|
|
@@ -97574,7 +97574,7 @@
|
|
|
97574
97574
|
"page-0013",
|
|
97575
97575
|
"page-1178",
|
|
97576
97576
|
"page-1225",
|
|
97577
|
-
"page-
|
|
97577
|
+
"page-1226"
|
|
97578
97578
|
],
|
|
97579
97579
|
"channels": [
|
|
97580
97580
|
"page-0003",
|
|
@@ -97812,7 +97812,7 @@
|
|
|
97812
97812
|
"page-1214",
|
|
97813
97813
|
"page-1217",
|
|
97814
97814
|
"page-1220",
|
|
97815
|
-
"page-
|
|
97815
|
+
"page-1226",
|
|
97816
97816
|
"page-1228",
|
|
97817
97817
|
"page-1229",
|
|
97818
97818
|
"page-1232",
|
|
@@ -97850,7 +97850,7 @@
|
|
|
97850
97850
|
"versions": [
|
|
97851
97851
|
"page-0004",
|
|
97852
97852
|
"page-0236",
|
|
97853
|
-
"page-
|
|
97853
|
+
"page-1226",
|
|
97854
97854
|
"page-1264",
|
|
97855
97855
|
"page-1265"
|
|
97856
97856
|
],
|
|
@@ -97864,7 +97864,7 @@
|
|
|
97864
97864
|
"page-0166",
|
|
97865
97865
|
"page-0182",
|
|
97866
97866
|
"page-0210",
|
|
97867
|
-
"page-
|
|
97867
|
+
"page-1226",
|
|
97868
97868
|
"page-1252",
|
|
97869
97869
|
"page-1253"
|
|
97870
97870
|
],
|
|
@@ -97893,7 +97893,7 @@
|
|
|
97893
97893
|
"page-1049",
|
|
97894
97894
|
"page-1177",
|
|
97895
97895
|
"page-1180",
|
|
97896
|
-
"page-
|
|
97896
|
+
"page-1226",
|
|
97897
97897
|
"page-1232",
|
|
97898
97898
|
"page-1249",
|
|
97899
97899
|
"page-1252",
|
|
@@ -97954,7 +97954,7 @@
|
|
|
97954
97954
|
"page-0571",
|
|
97955
97955
|
"page-0630",
|
|
97956
97956
|
"page-0643",
|
|
97957
|
-
"page-
|
|
97957
|
+
"page-1226"
|
|
97958
97958
|
],
|
|
97959
97959
|
"1password": [
|
|
97960
97960
|
"page-0005",
|
|
@@ -97967,7 +97967,7 @@
|
|
|
97967
97967
|
"page-0254",
|
|
97968
97968
|
"page-0617",
|
|
97969
97969
|
"page-1225",
|
|
97970
|
-
"page-
|
|
97970
|
+
"page-1226",
|
|
97971
97971
|
"page-1252"
|
|
97972
97972
|
],
|
|
97973
97973
|
"azure": [
|
|
@@ -97984,13 +97984,13 @@
|
|
|
97984
97984
|
"page-0756",
|
|
97985
97985
|
"page-0757",
|
|
97986
97986
|
"page-0893",
|
|
97987
|
-
"page-
|
|
97987
|
+
"page-1226",
|
|
97988
97988
|
"page-1256"
|
|
97989
97989
|
],
|
|
97990
97990
|
"vault": [
|
|
97991
97991
|
"page-0005",
|
|
97992
97992
|
"page-0166",
|
|
97993
|
-
"page-
|
|
97993
|
+
"page-1226",
|
|
97994
97994
|
"page-1252"
|
|
97995
97995
|
],
|
|
97996
97996
|
"hashicorp": [
|
|
@@ -98033,7 +98033,7 @@
|
|
|
98033
98033
|
"page-0679",
|
|
98034
98034
|
"page-0680",
|
|
98035
98035
|
"page-0722",
|
|
98036
|
-
"page-
|
|
98036
|
+
"page-1226",
|
|
98037
98037
|
"page-1284"
|
|
98038
98038
|
],
|
|
98039
98039
|
"\"secret/\"": [
|
|
@@ -98387,7 +98387,7 @@
|
|
|
98387
98387
|
"page-1191",
|
|
98388
98388
|
"page-1205",
|
|
98389
98389
|
"page-1209",
|
|
98390
|
-
"page-
|
|
98390
|
+
"page-1226",
|
|
98391
98391
|
"page-1240",
|
|
98392
98392
|
"page-1253",
|
|
98393
98393
|
"page-1267"
|
|
@@ -98813,7 +98813,7 @@
|
|
|
98813
98813
|
"page-1169",
|
|
98814
98814
|
"page-1173",
|
|
98815
98815
|
"page-1191",
|
|
98816
|
-
"page-
|
|
98816
|
+
"page-1226",
|
|
98817
98817
|
"page-1228",
|
|
98818
98818
|
"page-1235",
|
|
98819
98819
|
"page-1240",
|
|
@@ -98835,13 +98835,13 @@
|
|
|
98835
98835
|
"page-0005",
|
|
98836
98836
|
"page-0044",
|
|
98837
98837
|
"page-0050",
|
|
98838
|
-
"page-
|
|
98838
|
+
"page-1226",
|
|
98839
98839
|
"page-1253"
|
|
98840
98840
|
],
|
|
98841
98841
|
"roles": [
|
|
98842
98842
|
"page-0005",
|
|
98843
98843
|
"page-0013",
|
|
98844
|
-
"page-
|
|
98844
|
+
"page-1226",
|
|
98845
98845
|
"page-1249",
|
|
98846
98846
|
"page-1252",
|
|
98847
98847
|
"page-1256",
|
|
@@ -98930,7 +98930,7 @@
|
|
|
98930
98930
|
"page-0635",
|
|
98931
98931
|
"page-0734",
|
|
98932
98932
|
"page-0892",
|
|
98933
|
-
"page-
|
|
98933
|
+
"page-1226"
|
|
98934
98934
|
],
|
|
98935
98935
|
"chain": [
|
|
98936
98936
|
"page-0006",
|
|
@@ -98991,13 +98991,13 @@
|
|
|
98991
98991
|
"page-0571",
|
|
98992
98992
|
"page-0630",
|
|
98993
98993
|
"page-0643",
|
|
98994
|
-
"page-
|
|
98994
|
+
"page-1226"
|
|
98995
98995
|
],
|
|
98996
98996
|
"canvas": [
|
|
98997
98997
|
"page-0006",
|
|
98998
98998
|
"page-0008",
|
|
98999
98999
|
"page-0073",
|
|
99000
|
-
"page-
|
|
99000
|
+
"page-1226"
|
|
99001
99001
|
],
|
|
99002
99002
|
"(n8n)": [
|
|
99003
99003
|
"page-0006"
|
|
@@ -99040,7 +99040,7 @@
|
|
|
99040
99040
|
"page-1057",
|
|
99041
99041
|
"page-1177",
|
|
99042
99042
|
"page-1225",
|
|
99043
|
-
"page-
|
|
99043
|
+
"page-1226",
|
|
99044
99044
|
"page-1237",
|
|
99045
99045
|
"page-1252"
|
|
99046
99046
|
],
|
|
@@ -99072,7 +99072,7 @@
|
|
|
99072
99072
|
"page-0026",
|
|
99073
99073
|
"page-0670",
|
|
99074
99074
|
"page-0671",
|
|
99075
|
-
"page-
|
|
99075
|
+
"page-1226"
|
|
99076
99076
|
],
|
|
99077
99077
|
"langchain": [
|
|
99078
99078
|
"page-0006",
|
|
@@ -99081,7 +99081,7 @@
|
|
|
99081
99081
|
"page-0042",
|
|
99082
99082
|
"page-0057",
|
|
99083
99083
|
"page-0556",
|
|
99084
|
-
"page-
|
|
99084
|
+
"page-1226"
|
|
99085
99085
|
],
|
|
99086
99086
|
"large": [
|
|
99087
99087
|
"page-0006",
|
|
@@ -99138,7 +99138,7 @@
|
|
|
99138
99138
|
"page-0651",
|
|
99139
99139
|
"page-0652",
|
|
99140
99140
|
"page-1133",
|
|
99141
|
-
"page-
|
|
99141
|
+
"page-1226"
|
|
99142
99142
|
],
|
|
99143
99143
|
"(llm)": [
|
|
99144
99144
|
"page-0006"
|
|
@@ -99161,7 +99161,7 @@
|
|
|
99161
99161
|
"page-0576",
|
|
99162
99162
|
"page-0577",
|
|
99163
99163
|
"page-0682",
|
|
99164
|
-
"page-
|
|
99164
|
+
"page-1226",
|
|
99165
99165
|
"page-1239"
|
|
99166
99166
|
],
|
|
99167
99167
|
"trigger": [
|
|
@@ -99308,30 +99308,30 @@
|
|
|
99308
99308
|
"page-1204",
|
|
99309
99309
|
"page-1205",
|
|
99310
99310
|
"page-1225",
|
|
99311
|
-
"page-
|
|
99311
|
+
"page-1226",
|
|
99312
99312
|
"page-1240"
|
|
99313
99313
|
],
|
|
99314
99314
|
"insights": [
|
|
99315
99315
|
"page-0007",
|
|
99316
99316
|
"page-0047",
|
|
99317
99317
|
"page-0183",
|
|
99318
|
-
"page-
|
|
99318
|
+
"page-1226"
|
|
99319
99319
|
],
|
|
99320
99320
|
"summary": [
|
|
99321
99321
|
"page-0007",
|
|
99322
99322
|
"page-0073",
|
|
99323
99323
|
"page-0074",
|
|
99324
|
-
"page-
|
|
99324
|
+
"page-1226",
|
|
99325
99325
|
"page-1235"
|
|
99326
99326
|
],
|
|
99327
99327
|
"banner": [
|
|
99328
99328
|
"page-0007",
|
|
99329
|
-
"page-
|
|
99329
|
+
"page-1226"
|
|
99330
99330
|
],
|
|
99331
99331
|
"dashboard": [
|
|
99332
99332
|
"page-0007",
|
|
99333
99333
|
"page-1212",
|
|
99334
|
-
"page-
|
|
99334
|
+
"page-1226"
|
|
99335
99335
|
],
|
|
99336
99336
|
"time": [
|
|
99337
99337
|
"page-0007",
|
|
@@ -99346,7 +99346,7 @@
|
|
|
99346
99346
|
"page-1162",
|
|
99347
99347
|
"page-1166",
|
|
99348
99348
|
"page-1201",
|
|
99349
|
-
"page-
|
|
99349
|
+
"page-1226",
|
|
99350
99350
|
"page-1266"
|
|
99351
99351
|
],
|
|
99352
99352
|
"periods": [
|
|
@@ -99373,7 +99373,7 @@
|
|
|
99373
99373
|
"page-0007",
|
|
99374
99374
|
"page-0013",
|
|
99375
99375
|
"page-0219",
|
|
99376
|
-
"page-
|
|
99376
|
+
"page-1226",
|
|
99377
99377
|
"page-1266"
|
|
99378
99378
|
],
|
|
99379
99379
|
"fixed": [
|
|
@@ -99437,7 +99437,7 @@
|
|
|
99437
99437
|
"page-0168",
|
|
99438
99438
|
"page-0212",
|
|
99439
99439
|
"page-0670",
|
|
99440
|
-
"page-
|
|
99440
|
+
"page-1226"
|
|
99441
99441
|
],
|
|
99442
99442
|
"collection": [
|
|
99443
99443
|
"page-0007",
|
|
@@ -99501,7 +99501,7 @@
|
|
|
99501
99501
|
"page-1172",
|
|
99502
99502
|
"page-1173",
|
|
99503
99503
|
"page-1220",
|
|
99504
|
-
"page-
|
|
99504
|
+
"page-1226",
|
|
99505
99505
|
"page-1265"
|
|
99506
99506
|
],
|
|
99507
99507
|
"insights?": [
|
|
@@ -99543,7 +99543,7 @@
|
|
|
99543
99543
|
"page-0538",
|
|
99544
99544
|
"page-0696",
|
|
99545
99545
|
"page-1160",
|
|
99546
|
-
"page-
|
|
99546
|
+
"page-1226"
|
|
99547
99547
|
],
|
|
99548
99548
|
"selected": [
|
|
99549
99549
|
"page-0008"
|
|
@@ -99564,7 +99564,7 @@
|
|
|
99564
99564
|
"page-0100",
|
|
99565
99565
|
"page-0525",
|
|
99566
99566
|
"page-0727",
|
|
99567
|
-
"page-
|
|
99567
|
+
"page-1226"
|
|
99568
99568
|
],
|
|
99569
99569
|
"learning": [
|
|
99570
99570
|
"page-0009",
|
|
@@ -99607,7 +99607,7 @@
|
|
|
99607
99607
|
"page-1192",
|
|
99608
99608
|
"page-1201",
|
|
99609
99609
|
"page-1225",
|
|
99610
|
-
"page-
|
|
99610
|
+
"page-1226"
|
|
99611
99611
|
],
|
|
99612
99612
|
"structured": [
|
|
99613
99613
|
"page-0009",
|
|
@@ -99662,7 +99662,7 @@
|
|
|
99662
99662
|
"page-0725",
|
|
99663
99663
|
"page-1191",
|
|
99664
99664
|
"page-1205",
|
|
99665
|
-
"page-
|
|
99665
|
+
"page-1226"
|
|
99666
99666
|
],
|
|
99667
99667
|
"self": [
|
|
99668
99668
|
"page-0009",
|
|
@@ -99692,7 +99692,7 @@
|
|
|
99692
99692
|
"page-1223",
|
|
99693
99693
|
"page-1224",
|
|
99694
99694
|
"page-1225",
|
|
99695
|
-
"page-
|
|
99695
|
+
"page-1226",
|
|
99696
99696
|
"page-1243",
|
|
99697
99697
|
"page-1271"
|
|
99698
99698
|
],
|
|
@@ -99792,7 +99792,7 @@
|
|
|
99792
99792
|
"page-1171",
|
|
99793
99793
|
"page-1192",
|
|
99794
99794
|
"page-1225",
|
|
99795
|
-
"page-
|
|
99795
|
+
"page-1226",
|
|
99796
99796
|
"page-1237"
|
|
99797
99797
|
],
|
|
99798
99798
|
"allowlist": [
|
|
@@ -99816,7 +99816,7 @@
|
|
|
99816
99816
|
"page-0972",
|
|
99817
99817
|
"page-1007",
|
|
99818
99818
|
"page-1209",
|
|
99819
|
-
"page-
|
|
99819
|
+
"page-1226"
|
|
99820
99820
|
],
|
|
99821
99821
|
"addresses": [
|
|
99822
99822
|
"page-0010",
|
|
@@ -99878,7 +99878,7 @@
|
|
|
99878
99878
|
"page-1110",
|
|
99879
99879
|
"page-1113",
|
|
99880
99880
|
"page-1114",
|
|
99881
|
-
"page-
|
|
99881
|
+
"page-1117",
|
|
99882
99882
|
"page-1122",
|
|
99883
99883
|
"page-1125",
|
|
99884
99884
|
"page-1126",
|
|
@@ -100277,7 +100277,7 @@
|
|
|
100277
100277
|
"page-1200",
|
|
100278
100278
|
"page-1211",
|
|
100279
100279
|
"page-1219",
|
|
100280
|
-
"page-
|
|
100280
|
+
"page-1226",
|
|
100281
100281
|
"page-1228",
|
|
100282
100282
|
"page-1229",
|
|
100283
100283
|
"page-1247",
|
|
@@ -100339,7 +100339,7 @@
|
|
|
100339
100339
|
"page-0012",
|
|
100340
100340
|
"page-0018",
|
|
100341
100341
|
"page-0582",
|
|
100342
|
-
"page-
|
|
100342
|
+
"page-1226",
|
|
100343
100343
|
"page-1228",
|
|
100344
100344
|
"page-1232",
|
|
100345
100345
|
"page-1236",
|
|
@@ -100353,7 +100353,7 @@
|
|
|
100353
100353
|
"page-0044",
|
|
100354
100354
|
"page-0558",
|
|
100355
100355
|
"page-1225",
|
|
100356
|
-
"page-
|
|
100356
|
+
"page-1226",
|
|
100357
100357
|
"page-1276"
|
|
100358
100358
|
],
|
|
100359
100359
|
"update": [
|
|
@@ -100383,19 +100383,19 @@
|
|
|
100383
100383
|
"page-1180",
|
|
100384
100384
|
"page-1220",
|
|
100385
100385
|
"page-1225",
|
|
100386
|
-
"page-
|
|
100386
|
+
"page-1226"
|
|
100387
100387
|
],
|
|
100388
100388
|
"semantic": [
|
|
100389
100389
|
"page-0013",
|
|
100390
100390
|
"page-1225",
|
|
100391
|
-
"page-
|
|
100391
|
+
"page-1226"
|
|
100392
100392
|
],
|
|
100393
100393
|
"versioning": [
|
|
100394
100394
|
"page-0013",
|
|
100395
100395
|
"page-1187",
|
|
100396
100396
|
"page-1188",
|
|
100397
100397
|
"page-1225",
|
|
100398
|
-
"page-
|
|
100398
|
+
"page-1226"
|
|
100399
100399
|
],
|
|
100400
100400
|
"n8n@2": [
|
|
100401
100401
|
"page-0013"
|
|
@@ -100403,7 +100403,7 @@
|
|
|
100403
100403
|
"contributors": [
|
|
100404
100404
|
"page-0013",
|
|
100405
100405
|
"page-1225",
|
|
100406
|
-
"page-
|
|
100406
|
+
"page-1226"
|
|
100407
100407
|
],
|
|
100408
100408
|
"microsoft": [
|
|
100409
100409
|
"page-0013",
|
|
@@ -100428,7 +100428,7 @@
|
|
|
100428
100428
|
"page-1108",
|
|
100429
100429
|
"page-1109",
|
|
100430
100430
|
"page-1110",
|
|
100431
|
-
"page-
|
|
100431
|
+
"page-1226"
|
|
100432
100432
|
],
|
|
100433
100433
|
"works": [
|
|
100434
100434
|
"page-0013",
|
|
@@ -100453,7 +100453,7 @@
|
|
|
100453
100453
|
"things": [
|
|
100454
100454
|
"page-0013",
|
|
100455
100455
|
"page-0210",
|
|
100456
|
-
"page-
|
|
100456
|
+
"page-1226",
|
|
100457
100457
|
"page-1269"
|
|
100458
100458
|
],
|
|
100459
100459
|
"keep": [
|
|
@@ -100463,12 +100463,12 @@
|
|
|
100463
100463
|
"page-0690",
|
|
100464
100464
|
"page-0700",
|
|
100465
100465
|
"page-0728",
|
|
100466
|
-
"page-
|
|
100466
|
+
"page-1226",
|
|
100467
100467
|
"page-1269"
|
|
100468
100468
|
],
|
|
100469
100469
|
"mind": [
|
|
100470
100470
|
"page-0013",
|
|
100471
|
-
"page-
|
|
100471
|
+
"page-1226",
|
|
100472
100472
|
"page-1269"
|
|
100473
100473
|
],
|
|
100474
100474
|
"visual": [
|
|
@@ -100476,7 +100476,7 @@
|
|
|
100476
100476
|
],
|
|
100477
100477
|
"diff": [
|
|
100478
100478
|
"page-0013",
|
|
100479
|
-
"page-
|
|
100479
|
+
"page-1226",
|
|
100480
100480
|
"page-1235"
|
|
100481
100481
|
],
|
|
100482
100482
|
"comes": [
|
|
@@ -100487,13 +100487,13 @@
|
|
|
100487
100487
|
"page-0148",
|
|
100488
100488
|
"page-0196",
|
|
100489
100489
|
"page-0727",
|
|
100490
|
-
"page-
|
|
100490
|
+
"page-1226",
|
|
100491
100491
|
"page-1264",
|
|
100492
100492
|
"page-1265"
|
|
100493
100493
|
],
|
|
100494
100494
|
"scoped": [
|
|
100495
100495
|
"page-0013",
|
|
100496
|
-
"page-
|
|
100496
|
+
"page-1226"
|
|
100497
100497
|
],
|
|
100498
100498
|
"secrets:": [
|
|
100499
100499
|
"page-0013"
|
|
@@ -100558,7 +100558,7 @@
|
|
|
100558
100558
|
"page-0708",
|
|
100559
100559
|
"page-0734",
|
|
100560
100560
|
"page-0862",
|
|
100561
|
-
"page-
|
|
100561
|
+
"page-1226",
|
|
100562
100562
|
"page-1266"
|
|
100563
100563
|
],
|
|
100564
100564
|
"provider": [
|
|
@@ -100652,7 +100652,7 @@
|
|
|
100652
100652
|
"page-1220",
|
|
100653
100653
|
"page-1223",
|
|
100654
100654
|
"page-1225",
|
|
100655
|
-
"page-
|
|
100655
|
+
"page-1226",
|
|
100656
100656
|
"page-1239",
|
|
100657
100657
|
"page-1244"
|
|
100658
100658
|
],
|
|
@@ -100672,7 +100672,7 @@
|
|
|
100672
100672
|
"page-0891",
|
|
100673
100673
|
"page-0894",
|
|
100674
100674
|
"page-1212",
|
|
100675
|
-
"page-
|
|
100675
|
+
"page-1226",
|
|
100676
100676
|
"page-1254"
|
|
100677
100677
|
],
|
|
100678
100678
|
"execute": [
|
|
@@ -100720,7 +100720,7 @@
|
|
|
100720
100720
|
"page-0723",
|
|
100721
100721
|
"page-0732",
|
|
100722
100722
|
"page-0880",
|
|
100723
|
-
"page-
|
|
100723
|
+
"page-1226",
|
|
100724
100724
|
"page-1228",
|
|
100725
100725
|
"page-1232",
|
|
100726
100726
|
"page-1233",
|
|
@@ -100729,7 +100729,7 @@
|
|
|
100729
100729
|
],
|
|
100730
100730
|
"connections": [
|
|
100731
100731
|
"page-0013",
|
|
100732
|
-
"page-
|
|
100732
|
+
"page-1226",
|
|
100733
100733
|
"page-1274"
|
|
100734
100734
|
],
|
|
100735
100735
|
"performance": [
|
|
@@ -100740,7 +100740,7 @@
|
|
|
100740
100740
|
"improvements": [
|
|
100741
100741
|
"page-0013",
|
|
100742
100742
|
"page-1225",
|
|
100743
|
-
"page-
|
|
100743
|
+
"page-1226"
|
|
100744
100744
|
],
|
|
100745
100745
|
"volumes": [
|
|
100746
100746
|
"page-0013",
|
|
@@ -100773,14 +100773,14 @@
|
|
|
100773
100773
|
"improved": [
|
|
100774
100774
|
"page-0013",
|
|
100775
100775
|
"page-1225",
|
|
100776
|
-
"page-
|
|
100776
|
+
"page-1226"
|
|
100777
100777
|
],
|
|
100778
100778
|
"discoverability": [
|
|
100779
100779
|
"page-0013"
|
|
100780
100780
|
],
|
|
100781
100781
|
"visibility": [
|
|
100782
100782
|
"page-0013",
|
|
100783
|
-
"page-
|
|
100783
|
+
"page-1226"
|
|
100784
100784
|
],
|
|
100785
100785
|
"stronger": [
|
|
100786
100786
|
"page-0013"
|
|
@@ -101060,12 +101060,12 @@
|
|
|
101060
101060
|
"page-0734",
|
|
101061
101061
|
"page-0735",
|
|
101062
101062
|
"page-0960",
|
|
101063
|
-
"page-
|
|
101063
|
+
"page-1226"
|
|
101064
101064
|
],
|
|
101065
101065
|
"node:": [
|
|
101066
101066
|
"page-0013",
|
|
101067
101067
|
"page-1225",
|
|
101068
|
-
"page-
|
|
101068
|
+
"page-1226"
|
|
101069
101069
|
],
|
|
101070
101070
|
"actions": [
|
|
101071
101071
|
"page-0013",
|
|
@@ -101096,7 +101096,7 @@
|
|
|
101096
101096
|
],
|
|
101097
101097
|
"node**": [
|
|
101098
101098
|
"page-0013",
|
|
101099
|
-
"page-
|
|
101099
|
+
"page-1226"
|
|
101100
101100
|
],
|
|
101101
101101
|
"major": [
|
|
101102
101102
|
"page-0013"
|
|
@@ -101116,18 +101116,18 @@
|
|
|
101116
101116
|
],
|
|
101117
101117
|
"updates": [
|
|
101118
101118
|
"page-0013",
|
|
101119
|
-
"page-
|
|
101119
|
+
"page-1226"
|
|
101120
101120
|
],
|
|
101121
101121
|
"factor": [
|
|
101122
101122
|
"page-0014",
|
|
101123
101123
|
"page-0195",
|
|
101124
|
-
"page-
|
|
101124
|
+
"page-1226",
|
|
101125
101125
|
"page-1247"
|
|
101126
101126
|
],
|
|
101127
101127
|
"sharing": [
|
|
101128
101128
|
"page-0014",
|
|
101129
101129
|
"page-1225",
|
|
101130
|
-
"page-
|
|
101130
|
+
"page-1226",
|
|
101131
101131
|
"page-1267"
|
|
101132
101132
|
],
|
|
101133
101133
|
"policy": [
|
|
@@ -101347,7 +101347,7 @@
|
|
|
101347
101347
|
"page-0207",
|
|
101348
101348
|
"page-0213",
|
|
101349
101349
|
"page-1210",
|
|
101350
|
-
"page-
|
|
101350
|
+
"page-1226"
|
|
101351
101351
|
],
|
|
101352
101352
|
"n8n's": [
|
|
101353
101353
|
"page-0015",
|
|
@@ -101364,7 +101364,7 @@
|
|
|
101364
101364
|
"page-0015",
|
|
101365
101365
|
"page-0023",
|
|
101366
101366
|
"page-0219",
|
|
101367
|
-
"page-
|
|
101367
|
+
"page-1226"
|
|
101368
101368
|
],
|
|
101369
101369
|
"power": [
|
|
101370
101370
|
"page-0015",
|
|
@@ -101375,7 +101375,7 @@
|
|
|
101375
101375
|
"page-0052",
|
|
101376
101376
|
"page-1188",
|
|
101377
101377
|
"page-1225",
|
|
101378
|
-
"page-
|
|
101378
|
+
"page-1226"
|
|
101379
101379
|
],
|
|
101380
101380
|
"app?": [
|
|
101381
101381
|
"page-0015"
|
|
@@ -101424,7 +101424,7 @@
|
|
|
101424
101424
|
"page-0210",
|
|
101425
101425
|
"page-1041",
|
|
101426
101426
|
"page-1225",
|
|
101427
|
-
"page-
|
|
101427
|
+
"page-1226",
|
|
101428
101428
|
"page-1239"
|
|
101429
101429
|
],
|
|
101430
101430
|
"create": [
|
|
@@ -101537,7 +101537,7 @@
|
|
|
101537
101537
|
"page-0680",
|
|
101538
101538
|
"page-0708",
|
|
101539
101539
|
"page-1225",
|
|
101540
|
-
"page-
|
|
101540
|
+
"page-1226"
|
|
101541
101541
|
],
|
|
101542
101542
|
"previous": [
|
|
101543
101543
|
"page-0015",
|
|
@@ -101551,7 +101551,7 @@
|
|
|
101551
101551
|
"page-0734",
|
|
101552
101552
|
"page-0735",
|
|
101553
101553
|
"page-1185",
|
|
101554
|
-
"page-
|
|
101554
|
+
"page-1226",
|
|
101555
101555
|
"page-1264",
|
|
101556
101556
|
"page-1278"
|
|
101557
101557
|
],
|
|
@@ -102163,7 +102163,7 @@
|
|
|
102163
102163
|
"page-1110",
|
|
102164
102164
|
"page-1112",
|
|
102165
102165
|
"page-1113",
|
|
102166
|
-
"page-
|
|
102166
|
+
"page-1117",
|
|
102167
102167
|
"page-1120",
|
|
102168
102168
|
"page-1122",
|
|
102169
102169
|
"page-1125",
|
|
@@ -102716,7 +102716,7 @@
|
|
|
102716
102716
|
"page-1110",
|
|
102717
102717
|
"page-1112",
|
|
102718
102718
|
"page-1113",
|
|
102719
|
-
"page-
|
|
102719
|
+
"page-1117",
|
|
102720
102720
|
"page-1120",
|
|
102721
102721
|
"page-1122",
|
|
102722
102722
|
"page-1125",
|
|
@@ -103181,7 +103181,7 @@
|
|
|
103181
103181
|
"page-0729",
|
|
103182
103182
|
"page-0731",
|
|
103183
103183
|
"page-0734",
|
|
103184
|
-
"page-
|
|
103184
|
+
"page-1226",
|
|
103185
103185
|
"page-1271"
|
|
103186
103186
|
],
|
|
103187
103187
|
"widget": [
|
|
@@ -103190,7 +103190,7 @@
|
|
|
103190
103190
|
"builder": [
|
|
103191
103191
|
"page-0018",
|
|
103192
103192
|
"page-0044",
|
|
103193
|
-
"page-
|
|
103193
|
+
"page-1226"
|
|
103194
103194
|
],
|
|
103195
103195
|
"working": [
|
|
103196
103196
|
"page-0018",
|
|
@@ -103201,7 +103201,7 @@
|
|
|
103201
103201
|
"page-0542",
|
|
103202
103202
|
"page-0730",
|
|
103203
103203
|
"page-0880",
|
|
103204
|
-
"page-
|
|
103204
|
+
"page-1226"
|
|
103205
103205
|
],
|
|
103206
103206
|
"commands": [
|
|
103207
103207
|
"page-0018",
|
|
@@ -103232,7 +103232,7 @@
|
|
|
103232
103232
|
"page-1184",
|
|
103233
103233
|
"page-1203",
|
|
103234
103234
|
"page-1225",
|
|
103235
|
-
"page-
|
|
103235
|
+
"page-1226"
|
|
103236
103236
|
],
|
|
103237
103237
|
"overview": [
|
|
103238
103238
|
"page-0019",
|
|
@@ -103312,7 +103312,7 @@
|
|
|
103312
103312
|
"page-1190",
|
|
103313
103313
|
"page-1205",
|
|
103314
103314
|
"page-1225",
|
|
103315
|
-
"page-
|
|
103315
|
+
"page-1226",
|
|
103316
103316
|
"page-1241",
|
|
103317
103317
|
"page-1243",
|
|
103318
103318
|
"page-1244",
|
|
@@ -103372,7 +103372,7 @@
|
|
|
103372
103372
|
"page-0582",
|
|
103373
103373
|
"page-0635",
|
|
103374
103374
|
"page-0649",
|
|
103375
|
-
"page-
|
|
103375
|
+
"page-1226"
|
|
103376
103376
|
],
|
|
103377
103377
|
"step": [
|
|
103378
103378
|
"page-0020",
|
|
@@ -103658,7 +103658,7 @@
|
|
|
103658
103658
|
"page-0023",
|
|
103659
103659
|
"page-0024",
|
|
103660
103660
|
"page-0026",
|
|
103661
|
-
"page-
|
|
103661
|
+
"page-1226"
|
|
103662
103662
|
],
|
|
103663
103663
|
"evaluations?": [
|
|
103664
103664
|
"page-0023",
|
|
@@ -103701,7 +103701,7 @@
|
|
|
103701
103701
|
"page-0061",
|
|
103702
103702
|
"page-0556",
|
|
103703
103703
|
"page-0670",
|
|
103704
|
-
"page-
|
|
103704
|
+
"page-1226"
|
|
103705
103705
|
],
|
|
103706
103706
|
"metric": [
|
|
103707
103707
|
"page-0024",
|
|
@@ -103712,7 +103712,7 @@
|
|
|
103712
103712
|
"page-0210",
|
|
103713
103713
|
"page-0224",
|
|
103714
103714
|
"page-1225",
|
|
103715
|
-
"page-
|
|
103715
|
+
"page-1226",
|
|
103716
103716
|
"page-1235",
|
|
103717
103717
|
"page-1264",
|
|
103718
103718
|
"page-1267",
|
|
@@ -103783,7 +103783,7 @@
|
|
|
103783
103783
|
"page-0527",
|
|
103784
103784
|
"page-0648",
|
|
103785
103785
|
"page-0652",
|
|
103786
|
-
"page-
|
|
103786
|
+
"page-1226"
|
|
103787
103787
|
],
|
|
103788
103788
|
"dealing": [
|
|
103789
103789
|
"page-0026",
|
|
@@ -103884,7 +103884,7 @@
|
|
|
103884
103884
|
"page-1161",
|
|
103885
103885
|
"page-1162",
|
|
103886
103886
|
"page-1225",
|
|
103887
|
-
"page-
|
|
103887
|
+
"page-1226"
|
|
103888
103888
|
],
|
|
103889
103889
|
"sheets": [
|
|
103890
103890
|
"page-0029",
|
|
@@ -104398,7 +104398,7 @@
|
|
|
104398
104398
|
"page-0685",
|
|
104399
104399
|
"page-0719",
|
|
104400
104400
|
"page-0754",
|
|
104401
|
-
"page-
|
|
104401
|
+
"page-1226"
|
|
104402
104402
|
],
|
|
104403
104403
|
"embeddings,": [
|
|
104404
104404
|
"page-0036"
|
|
@@ -104678,7 +104678,7 @@
|
|
|
104678
104678
|
"page-0700",
|
|
104679
104679
|
"page-0707",
|
|
104680
104680
|
"page-1191",
|
|
104681
|
-
"page-
|
|
104681
|
+
"page-1226",
|
|
104682
104682
|
"page-1240"
|
|
104683
104683
|
],
|
|
104684
104684
|
"parsers": [
|
|
@@ -104704,7 +104704,7 @@
|
|
|
104704
104704
|
"page-0594",
|
|
104705
104705
|
"page-0595",
|
|
104706
104706
|
"page-0596",
|
|
104707
|
-
"page-
|
|
104707
|
+
"page-1226"
|
|
104708
104708
|
],
|
|
104709
104709
|
"langsmith": [
|
|
104710
104710
|
"page-0041"
|
|
@@ -104719,7 +104719,7 @@
|
|
|
104719
104719
|
"page-0205",
|
|
104720
104720
|
"page-0211",
|
|
104721
104721
|
"page-0718",
|
|
104722
|
-
"page-
|
|
104722
|
+
"page-1226",
|
|
104723
104723
|
"page-1276",
|
|
104724
104724
|
"page-1284"
|
|
104725
104725
|
],
|
|
@@ -104754,7 +104754,7 @@
|
|
|
104754
104754
|
"page-1223",
|
|
104755
104755
|
"page-1224",
|
|
104756
104756
|
"page-1225",
|
|
104757
|
-
"page-
|
|
104757
|
+
"page-1226",
|
|
104758
104758
|
"page-1243",
|
|
104759
104759
|
"page-1271"
|
|
104760
104760
|
],
|
|
@@ -104861,7 +104861,7 @@
|
|
|
104861
104861
|
"page-0963",
|
|
104862
104862
|
"page-1047",
|
|
104863
104863
|
"page-1048",
|
|
104864
|
-
"page-
|
|
104864
|
+
"page-1226"
|
|
104865
104865
|
],
|
|
104866
104866
|
"token": [
|
|
104867
104867
|
"page-0043",
|
|
@@ -104974,7 +104974,7 @@
|
|
|
104974
104974
|
"page-0043",
|
|
104975
104975
|
"page-0050",
|
|
104976
104976
|
"page-0716",
|
|
104977
|
-
"page-
|
|
104977
|
+
"page-1226"
|
|
104978
104978
|
],
|
|
104979
104979
|
"desktop": [
|
|
104980
104980
|
"page-0043",
|
|
@@ -105051,7 +105051,7 @@
|
|
|
105051
105051
|
"page-0204",
|
|
105052
105052
|
"page-0209",
|
|
105053
105053
|
"page-0518",
|
|
105054
|
-
"page-
|
|
105054
|
+
"page-1226"
|
|
105055
105055
|
],
|
|
105056
105056
|
"suggested": [
|
|
105057
105057
|
"page-0044",
|
|
@@ -105063,7 +105063,7 @@
|
|
|
105063
105063
|
],
|
|
105064
105064
|
"archive": [
|
|
105065
105065
|
"page-0044",
|
|
105066
|
-
"page-
|
|
105066
|
+
"page-1226"
|
|
105067
105067
|
],
|
|
105068
105068
|
"tables": [
|
|
105069
105069
|
"page-0044",
|
|
@@ -105071,7 +105071,7 @@
|
|
|
105071
105071
|
"page-0148",
|
|
105072
105072
|
"page-0578",
|
|
105073
105073
|
"page-0722",
|
|
105074
|
-
"page-
|
|
105074
|
+
"page-1226",
|
|
105075
105075
|
"page-1237"
|
|
105076
105076
|
],
|
|
105077
105077
|
"table": [
|
|
@@ -105145,7 +105145,7 @@
|
|
|
105145
105145
|
"page-0917",
|
|
105146
105146
|
"page-1070",
|
|
105147
105147
|
"page-1225",
|
|
105148
|
-
"page-
|
|
105148
|
+
"page-1226"
|
|
105149
105149
|
],
|
|
105150
105150
|
"rest": [
|
|
105151
105151
|
"page-0045",
|
|
@@ -105246,7 +105246,7 @@
|
|
|
105246
105246
|
"page-0048",
|
|
105247
105247
|
"page-0070",
|
|
105248
105248
|
"page-0725",
|
|
105249
|
-
"page-
|
|
105249
|
+
"page-1226"
|
|
105250
105250
|
],
|
|
105251
105251
|
"playground": [
|
|
105252
105252
|
"page-0049",
|
|
@@ -105265,7 +105265,7 @@
|
|
|
105265
105265
|
"page-0717",
|
|
105266
105266
|
"page-1182",
|
|
105267
105267
|
"page-1225",
|
|
105268
|
-
"page-
|
|
105268
|
+
"page-1226"
|
|
105269
105269
|
],
|
|
105270
105270
|
"started": [
|
|
105271
105271
|
"page-0050",
|
|
@@ -105379,7 +105379,7 @@
|
|
|
105379
105379
|
"page-0205",
|
|
105380
105380
|
"page-1191",
|
|
105381
105381
|
"page-1225",
|
|
105382
|
-
"page-
|
|
105382
|
+
"page-1226",
|
|
105383
105383
|
"page-1237"
|
|
105384
105384
|
],
|
|
105385
105385
|
"technical": [
|
|
@@ -105482,7 +105482,7 @@
|
|
|
105482
105482
|
"page-0452",
|
|
105483
105483
|
"page-0978",
|
|
105484
105484
|
"page-1125",
|
|
105485
|
-
"page-
|
|
105485
|
+
"page-1226"
|
|
105486
105486
|
],
|
|
105487
105487
|
"message": [
|
|
105488
105488
|
"page-0052",
|
|
@@ -106333,7 +106333,7 @@
|
|
|
106333
106333
|
"page-0732",
|
|
106334
106334
|
"page-0848",
|
|
106335
106335
|
"page-1185",
|
|
106336
|
-
"page-
|
|
106336
|
+
"page-1226"
|
|
106337
106337
|
],
|
|
106338
106338
|
"requests": [
|
|
106339
106339
|
"page-0053",
|
|
@@ -106494,7 +106494,7 @@
|
|
|
106494
106494
|
"page-0696",
|
|
106495
106495
|
"page-1189",
|
|
106496
106496
|
"page-1225",
|
|
106497
|
-
"page-
|
|
106497
|
+
"page-1226"
|
|
106498
106498
|
],
|
|
106499
106499
|
"`execution`": [
|
|
106500
106500
|
"page-0062"
|
|
@@ -106990,7 +106990,7 @@
|
|
|
106990
106990
|
"page-0731",
|
|
106991
106991
|
"page-1190",
|
|
106992
106992
|
"page-1225",
|
|
106993
|
-
"page-
|
|
106993
|
+
"page-1226"
|
|
106994
106994
|
],
|
|
106995
106995
|
"date,": [
|
|
106996
106996
|
"page-0089"
|
|
@@ -107065,7 +107065,7 @@
|
|
|
107065
107065
|
"page-1090",
|
|
107066
107066
|
"page-1154",
|
|
107067
107067
|
"page-1225",
|
|
107068
|
-
"page-
|
|
107068
|
+
"page-1226"
|
|
107069
107069
|
],
|
|
107070
107070
|
"design": [
|
|
107071
107071
|
"page-0093",
|
|
@@ -107398,7 +107398,7 @@
|
|
|
107398
107398
|
"page-0571",
|
|
107399
107399
|
"page-0676",
|
|
107400
107400
|
"page-1190",
|
|
107401
|
-
"page-
|
|
107401
|
+
"page-1226",
|
|
107402
107402
|
"page-1270",
|
|
107403
107403
|
"page-1278",
|
|
107404
107404
|
"page-1284"
|
|
@@ -107513,7 +107513,7 @@
|
|
|
107513
107513
|
"drag": [
|
|
107514
107514
|
"page-0100",
|
|
107515
107515
|
"page-1190",
|
|
107516
|
-
"page-
|
|
107516
|
+
"page-1226"
|
|
107517
107517
|
],
|
|
107518
107518
|
"nested": [
|
|
107519
107519
|
"page-0100",
|
|
@@ -107571,14 +107571,14 @@
|
|
|
107571
107571
|
"transform": [
|
|
107572
107572
|
"page-0103",
|
|
107573
107573
|
"page-0660",
|
|
107574
|
-
"page-
|
|
107574
|
+
"page-1226"
|
|
107575
107575
|
],
|
|
107576
107576
|
"linked": [
|
|
107577
107577
|
"page-0107"
|
|
107578
107578
|
],
|
|
107579
107579
|
"ways": [
|
|
107580
107580
|
"page-0108",
|
|
107581
|
-
"page-
|
|
107581
|
+
"page-1226"
|
|
107582
107582
|
],
|
|
107583
107583
|
"input": [
|
|
107584
107584
|
"page-0108",
|
|
@@ -107587,7 +107587,7 @@
|
|
|
107587
107587
|
"page-0727",
|
|
107588
107588
|
"page-0728",
|
|
107589
107589
|
"page-0734",
|
|
107590
|
-
"page-
|
|
107590
|
+
"page-1226"
|
|
107591
107591
|
],
|
|
107592
107592
|
"linking": [
|
|
107593
107593
|
"page-0109",
|
|
@@ -108374,7 +108374,7 @@
|
|
|
108374
108374
|
"page-0663",
|
|
108375
108375
|
"page-0682",
|
|
108376
108376
|
"page-1225",
|
|
108377
|
-
"page-
|
|
108377
|
+
"page-1226",
|
|
108378
108378
|
"page-1269"
|
|
108379
108379
|
],
|
|
108380
108380
|
"dates": [
|
|
@@ -108471,7 +108471,7 @@
|
|
|
108471
108471
|
"page-1184",
|
|
108472
108472
|
"page-1191",
|
|
108473
108473
|
"page-1209",
|
|
108474
|
-
"page-
|
|
108474
|
+
"page-1226",
|
|
108475
108475
|
"page-1266"
|
|
108476
108476
|
],
|
|
108477
108477
|
"cause": [
|
|
@@ -108700,7 +108700,7 @@
|
|
|
108700
108700
|
"page-0147",
|
|
108701
108701
|
"page-0210",
|
|
108702
108702
|
"page-1214",
|
|
108703
|
-
"page-
|
|
108703
|
+
"page-1226"
|
|
108704
108704
|
],
|
|
108705
108705
|
"edition": [
|
|
108706
108706
|
"page-0147"
|
|
@@ -108844,7 +108844,7 @@
|
|
|
108844
108844
|
"page-0166",
|
|
108845
108845
|
"page-0191",
|
|
108846
108846
|
"page-1019",
|
|
108847
|
-
"page-
|
|
108847
|
+
"page-1226",
|
|
108848
108848
|
"page-1249",
|
|
108849
108849
|
"page-1250"
|
|
108850
108850
|
],
|
|
@@ -108999,7 +108999,7 @@
|
|
|
108999
108999
|
"page-1223",
|
|
109000
109000
|
"page-1224",
|
|
109001
109001
|
"page-1225",
|
|
109002
|
-
"page-
|
|
109002
|
+
"page-1226",
|
|
109003
109003
|
"page-1244",
|
|
109004
109004
|
"page-1246",
|
|
109005
109005
|
"page-1252",
|
|
@@ -109064,7 +109064,7 @@
|
|
|
109064
109064
|
"endpoints": [
|
|
109065
109065
|
"page-0162",
|
|
109066
109066
|
"page-0178",
|
|
109067
|
-
"page-
|
|
109067
|
+
"page-1226",
|
|
109068
109068
|
"page-1249",
|
|
109069
109069
|
"page-1271"
|
|
109070
109070
|
],
|
|
@@ -109242,20 +109242,20 @@
|
|
|
109242
109242
|
"active": [
|
|
109243
109243
|
"page-0168",
|
|
109244
109244
|
"page-0227",
|
|
109245
|
-
"page-
|
|
109245
|
+
"page-1226"
|
|
109246
109246
|
],
|
|
109247
109247
|
"being": [
|
|
109248
109248
|
"page-0168"
|
|
109249
109249
|
],
|
|
109250
109250
|
"across": [
|
|
109251
109251
|
"page-0168",
|
|
109252
|
-
"page-
|
|
109252
|
+
"page-1226"
|
|
109253
109253
|
],
|
|
109254
109254
|
"workers": [
|
|
109255
109255
|
"page-0168",
|
|
109256
109256
|
"page-0210",
|
|
109257
109257
|
"page-0224",
|
|
109258
|
-
"page-
|
|
109258
|
+
"page-1226"
|
|
109259
109259
|
],
|
|
109260
109260
|
"gauge": [
|
|
109261
109261
|
"page-0168"
|
|
@@ -109323,13 +109323,13 @@
|
|
|
109323
109323
|
"page-0331",
|
|
109324
109324
|
"page-0757",
|
|
109325
109325
|
"page-1225",
|
|
109326
|
-
"page-
|
|
109326
|
+
"page-1226"
|
|
109327
109327
|
],
|
|
109328
109328
|
"logs": [
|
|
109329
109329
|
"page-0185",
|
|
109330
109330
|
"page-0210",
|
|
109331
109331
|
"page-0211",
|
|
109332
|
-
"page-
|
|
109332
|
+
"page-1226"
|
|
109333
109333
|
],
|
|
109334
109334
|
"opentelemetry": [
|
|
109335
109335
|
"page-0187",
|
|
@@ -109444,8 +109444,8 @@
|
|
|
109444
109444
|
"page-0534",
|
|
109445
109445
|
"page-0620",
|
|
109446
109446
|
"page-0941",
|
|
109447
|
-
"page-
|
|
109448
|
-
"page-
|
|
109447
|
+
"page-1117",
|
|
109448
|
+
"page-1226"
|
|
109449
109449
|
],
|
|
109450
109450
|
"volume": [
|
|
109451
109451
|
"page-0202",
|
|
@@ -109559,7 +109559,7 @@
|
|
|
109559
109559
|
"page-0734",
|
|
109560
109560
|
"page-1191",
|
|
109561
109561
|
"page-1209",
|
|
109562
|
-
"page-
|
|
109562
|
+
"page-1226"
|
|
109563
109563
|
],
|
|
109564
109564
|
"subdomain": [
|
|
109565
109565
|
"page-0205",
|
|
@@ -109591,7 +109591,7 @@
|
|
|
109591
109591
|
"page-1177",
|
|
109592
109592
|
"page-1180",
|
|
109593
109593
|
"page-1205",
|
|
109594
|
-
"page-
|
|
109594
|
+
"page-1226"
|
|
109595
109595
|
],
|
|
109596
109596
|
"gets": [
|
|
109597
109597
|
"page-0205",
|
|
@@ -110283,7 +110283,7 @@
|
|
|
110283
110283
|
],
|
|
110284
110284
|
"prune": [
|
|
110285
110285
|
"page-0219",
|
|
110286
|
-
"page-
|
|
110286
|
+
"page-1226"
|
|
110287
110287
|
],
|
|
110288
110288
|
"down": [
|
|
110289
110289
|
"page-0219"
|
|
@@ -110435,7 +110435,7 @@
|
|
|
110435
110435
|
"page-1047",
|
|
110436
110436
|
"page-1048",
|
|
110437
110437
|
"page-1174",
|
|
110438
|
-
"page-
|
|
110438
|
+
"page-1226"
|
|
110439
110439
|
],
|
|
110440
110440
|
"report": [
|
|
110441
110441
|
"page-0232",
|
|
@@ -110466,7 +110466,7 @@
|
|
|
110466
110466
|
],
|
|
110467
110467
|
"ranges": [
|
|
110468
110468
|
"page-0235",
|
|
110469
|
-
"page-
|
|
110469
|
+
"page-1226"
|
|
110470
110470
|
],
|
|
110471
110471
|
"collected": [
|
|
110472
110472
|
"page-0236"
|
|
@@ -110902,7 +110902,7 @@
|
|
|
110902
110902
|
"page-0686",
|
|
110903
110903
|
"page-0710",
|
|
110904
110904
|
"page-0816",
|
|
110905
|
-
"page-
|
|
110905
|
+
"page-1226"
|
|
110906
110906
|
],
|
|
110907
110907
|
"retry": [
|
|
110908
110908
|
"page-0242",
|
|
@@ -111410,7 +111410,7 @@
|
|
|
111410
111410
|
"page-1153",
|
|
111411
111411
|
"page-1154",
|
|
111412
111412
|
"page-1155",
|
|
111413
|
-
"page-
|
|
111413
|
+
"page-1226"
|
|
111414
111414
|
],
|
|
111415
111415
|
"graph": [
|
|
111416
111416
|
"page-0311",
|
|
@@ -111459,7 +111459,7 @@
|
|
|
111459
111459
|
"gong": [
|
|
111460
111460
|
"page-0321",
|
|
111461
111461
|
"page-0835",
|
|
111462
|
-
"page-
|
|
111462
|
+
"page-1226"
|
|
111463
111463
|
],
|
|
111464
111464
|
"analytics": [
|
|
111465
111465
|
"page-0323"
|
|
@@ -111495,7 +111495,7 @@
|
|
|
111495
111495
|
"page-0725",
|
|
111496
111496
|
"page-0823",
|
|
111497
111497
|
"page-1085",
|
|
111498
|
-
"page-
|
|
111498
|
+
"page-1226"
|
|
111499
111499
|
],
|
|
111500
111500
|
"firestore": [
|
|
111501
111501
|
"page-0328"
|
|
@@ -111737,7 +111737,7 @@
|
|
|
111737
111737
|
"page-0383",
|
|
111738
111738
|
"page-0756",
|
|
111739
111739
|
"page-0894",
|
|
111740
|
-
"page-
|
|
111740
|
+
"page-1226"
|
|
111741
111741
|
],
|
|
111742
111742
|
"senders": [
|
|
111743
111743
|
"page-0383"
|
|
@@ -111761,7 +111761,7 @@
|
|
|
111761
111761
|
"onedrive": [
|
|
111762
111762
|
"page-0386",
|
|
111763
111763
|
"page-1108",
|
|
111764
|
-
"page-
|
|
111764
|
+
"page-1226"
|
|
111765
111765
|
],
|
|
111766
111766
|
"outlook": [
|
|
111767
111767
|
"page-0387",
|
|
@@ -111771,7 +111771,7 @@
|
|
|
111771
111771
|
"page-1054",
|
|
111772
111772
|
"page-1056",
|
|
111773
111773
|
"page-1109",
|
|
111774
|
-
"page-
|
|
111774
|
+
"page-1226"
|
|
111775
111775
|
],
|
|
111776
111776
|
"sharepoint": [
|
|
111777
111777
|
"page-0388",
|
|
@@ -111794,7 +111794,7 @@
|
|
|
111794
111794
|
"page-0594",
|
|
111795
111795
|
"page-0608",
|
|
111796
111796
|
"page-0902",
|
|
111797
|
-
"page-
|
|
111797
|
+
"page-1226"
|
|
111798
111798
|
],
|
|
111799
111799
|
"mocean": [
|
|
111800
111800
|
"page-0395",
|
|
@@ -111866,7 +111866,7 @@
|
|
|
111866
111866
|
"okta": [
|
|
111867
111867
|
"page-0410",
|
|
111868
111868
|
"page-0921",
|
|
111869
|
-
"page-
|
|
111869
|
+
"page-1226",
|
|
111870
111870
|
"page-1249",
|
|
111871
111871
|
"page-1258"
|
|
111872
111872
|
],
|
|
@@ -111897,7 +111897,7 @@
|
|
|
111897
111897
|
"paypal": [
|
|
111898
111898
|
"page-0418",
|
|
111899
111899
|
"page-0933",
|
|
111900
|
-
"page-
|
|
111900
|
+
"page-1115"
|
|
111901
111901
|
],
|
|
111902
111902
|
"peekalink": [
|
|
111903
111903
|
"page-0419",
|
|
@@ -111914,7 +111914,7 @@
|
|
|
111914
111914
|
"pipedrive": [
|
|
111915
111915
|
"page-0422",
|
|
111916
111916
|
"page-0939",
|
|
111917
|
-
"page-
|
|
111917
|
+
"page-1116"
|
|
111918
111918
|
],
|
|
111919
111919
|
"plivo": [
|
|
111920
111920
|
"page-0423",
|
|
@@ -111991,7 +111991,7 @@
|
|
|
111991
111991
|
"page-0441",
|
|
111992
111992
|
"page-0963",
|
|
111993
111993
|
"page-1122",
|
|
111994
|
-
"page-
|
|
111994
|
+
"page-1226"
|
|
111995
111995
|
],
|
|
111996
111996
|
"salesmate": [
|
|
111997
111997
|
"page-0442",
|
|
@@ -112089,7 +112089,7 @@
|
|
|
112089
112089
|
"page-0999",
|
|
112090
112090
|
"page-1130",
|
|
112091
112091
|
"page-1131",
|
|
112092
|
-
"page-
|
|
112092
|
+
"page-1226"
|
|
112093
112093
|
],
|
|
112094
112094
|
"timescaledb": [
|
|
112095
112095
|
"page-0467",
|
|
@@ -112116,7 +112116,7 @@
|
|
|
112116
112116
|
"page-0472",
|
|
112117
112117
|
"page-1008",
|
|
112118
112118
|
"page-1134",
|
|
112119
|
-
"page-
|
|
112119
|
+
"page-1226"
|
|
112120
112120
|
],
|
|
112121
112121
|
"twist": [
|
|
112122
112122
|
"page-0473",
|
|
@@ -112269,7 +112269,7 @@
|
|
|
112269
112269
|
"page-0499",
|
|
112270
112270
|
"page-0589",
|
|
112271
112271
|
"page-0603",
|
|
112272
|
-
"page-
|
|
112272
|
+
"page-1226"
|
|
112273
112273
|
],
|
|
112274
112274
|
"minimax": [
|
|
112275
112275
|
"page-0500",
|
|
@@ -112317,7 +112317,7 @@
|
|
|
112317
112317
|
"page-0505",
|
|
112318
112318
|
"page-0506",
|
|
112319
112319
|
"page-0802",
|
|
112320
|
-
"page-
|
|
112320
|
+
"page-1226"
|
|
112321
112321
|
],
|
|
112322
112322
|
"embeds": [
|
|
112323
112323
|
"page-0506"
|
|
@@ -112428,7 +112428,7 @@
|
|
|
112428
112428
|
],
|
|
112429
112429
|
"availability": [
|
|
112430
112430
|
"page-0514",
|
|
112431
|
-
"page-
|
|
112431
|
+
"page-1226"
|
|
112432
112432
|
],
|
|
112433
112433
|
"drive": [
|
|
112434
112434
|
"page-0516",
|
|
@@ -112618,14 +112618,14 @@
|
|
|
112618
112618
|
"page-0649",
|
|
112619
112619
|
"page-1062",
|
|
112620
112620
|
"page-1197",
|
|
112621
|
-
"page-
|
|
112621
|
+
"page-1226"
|
|
112622
112622
|
],
|
|
112623
112623
|
"administrators": [
|
|
112624
112624
|
"page-0537"
|
|
112625
112625
|
],
|
|
112626
112626
|
"member": [
|
|
112627
112627
|
"page-0537",
|
|
112628
|
-
"page-
|
|
112628
|
+
"page-1226"
|
|
112629
112629
|
],
|
|
112630
112630
|
"leave": [
|
|
112631
112631
|
"page-0537"
|
|
@@ -112680,7 +112680,7 @@
|
|
|
112680
112680
|
"page-1138",
|
|
112681
112681
|
"page-1154",
|
|
112682
112682
|
"page-1225",
|
|
112683
|
-
"page-
|
|
112683
|
+
"page-1226"
|
|
112684
112684
|
],
|
|
112685
112685
|
"openai": [
|
|
112686
112686
|
"page-0543",
|
|
@@ -112700,7 +112700,7 @@
|
|
|
112700
112700
|
"page-0650",
|
|
112701
112701
|
"page-0756",
|
|
112702
112702
|
"page-0925",
|
|
112703
|
-
"page-
|
|
112703
|
+
"page-1226"
|
|
112704
112704
|
],
|
|
112705
112705
|
"assistants": [
|
|
112706
112706
|
"page-0543",
|
|
@@ -112785,21 +112785,21 @@
|
|
|
112785
112785
|
"information": [
|
|
112786
112786
|
"page-0557",
|
|
112787
112787
|
"page-0667",
|
|
112788
|
-
"page-
|
|
112788
|
+
"page-1226",
|
|
112789
112789
|
"page-1268"
|
|
112790
112790
|
],
|
|
112791
112791
|
"extractor": [
|
|
112792
112792
|
"page-0557",
|
|
112793
|
-
"page-
|
|
112793
|
+
"page-1226"
|
|
112794
112794
|
],
|
|
112795
112795
|
"sentiment": [
|
|
112796
112796
|
"page-0558",
|
|
112797
|
-
"page-
|
|
112797
|
+
"page-1226"
|
|
112798
112798
|
],
|
|
112799
112799
|
"analysis": [
|
|
112800
112800
|
"page-0558",
|
|
112801
112801
|
"page-0853",
|
|
112802
|
-
"page-
|
|
112802
|
+
"page-1226"
|
|
112803
112803
|
],
|
|
112804
112804
|
"temperature": [
|
|
112805
112805
|
"page-0558",
|
|
@@ -112822,7 +112822,7 @@
|
|
|
112822
112822
|
],
|
|
112823
112823
|
"classifier": [
|
|
112824
112824
|
"page-0559",
|
|
112825
|
-
"page-
|
|
112825
|
+
"page-1226"
|
|
112826
112826
|
],
|
|
112827
112827
|
"patterns": [
|
|
112828
112828
|
"page-0560",
|
|
@@ -113019,7 +113019,7 @@
|
|
|
113019
113019
|
],
|
|
113020
113020
|
"pgvector": [
|
|
113021
113021
|
"page-0565",
|
|
113022
|
-
"page-
|
|
113022
|
+
"page-1226"
|
|
113023
113023
|
],
|
|
113024
113024
|
"insert,": [
|
|
113025
113025
|
"page-0566",
|
|
@@ -113040,7 +113040,7 @@
|
|
|
113040
113040
|
"qdrant": [
|
|
113041
113041
|
"page-0567",
|
|
113042
113042
|
"page-0948",
|
|
113043
|
-
"page-
|
|
113043
|
+
"page-1226"
|
|
113044
113044
|
],
|
|
113045
113045
|
"weaviate": [
|
|
113046
113046
|
"page-0570",
|
|
@@ -113051,7 +113051,7 @@
|
|
|
113051
113051
|
"page-0695",
|
|
113052
113052
|
"page-1190",
|
|
113053
113053
|
"page-1205",
|
|
113054
|
-
"page-
|
|
113054
|
+
"page-1226"
|
|
113055
113055
|
],
|
|
113056
113056
|
"hybrid:": [
|
|
113057
113057
|
"page-0570"
|
|
@@ -113067,7 +113067,7 @@
|
|
|
113067
113067
|
],
|
|
113068
113068
|
"alpha": [
|
|
113069
113069
|
"page-0570",
|
|
113070
|
-
"page-
|
|
113070
|
+
"page-1226"
|
|
113071
113071
|
],
|
|
113072
113072
|
"properties": [
|
|
113073
113073
|
"page-0570",
|
|
@@ -113151,7 +113151,7 @@
|
|
|
113151
113151
|
"automatically": [
|
|
113152
113152
|
"page-0579",
|
|
113153
113153
|
"page-1225",
|
|
113154
|
-
"page-
|
|
113154
|
+
"page-1226",
|
|
113155
113155
|
"page-1236",
|
|
113156
113156
|
"page-1262"
|
|
113157
113157
|
],
|
|
@@ -113171,7 +113171,7 @@
|
|
|
113171
113171
|
"page-0696",
|
|
113172
113172
|
"page-0731",
|
|
113173
113173
|
"page-1205",
|
|
113174
|
-
"page-
|
|
113174
|
+
"page-1226",
|
|
113175
113175
|
"page-1268"
|
|
113176
113176
|
],
|
|
113177
113177
|
"a365": [
|
|
@@ -113198,7 +113198,7 @@
|
|
|
113198
113198
|
"vertex": [
|
|
113199
113199
|
"page-0591",
|
|
113200
113200
|
"page-0604",
|
|
113201
|
-
"page-
|
|
113201
|
+
"page-1226"
|
|
113202
113202
|
],
|
|
113203
113203
|
"huggingface": [
|
|
113204
113204
|
"page-0592"
|
|
@@ -113220,7 +113220,7 @@
|
|
|
113220
113220
|
"page-0651",
|
|
113221
113221
|
"page-0652",
|
|
113222
113222
|
"page-0922",
|
|
113223
|
-
"page-
|
|
113223
|
+
"page-1226"
|
|
113224
113224
|
],
|
|
113225
113225
|
"deepseek": [
|
|
113226
113226
|
"page-0602",
|
|
@@ -113273,7 +113273,7 @@
|
|
|
113273
113273
|
"groq": [
|
|
113274
113274
|
"page-0605",
|
|
113275
113275
|
"page-0841",
|
|
113276
|
-
"page-
|
|
113276
|
+
"page-1226"
|
|
113277
113277
|
],
|
|
113278
113278
|
"sequences": [
|
|
113279
113279
|
"page-0606",
|
|
@@ -113316,7 +113316,7 @@
|
|
|
113316
113316
|
],
|
|
113317
113317
|
"selector": [
|
|
113318
113318
|
"page-0624",
|
|
113319
|
-
"page-
|
|
113319
|
+
"page-1226"
|
|
113320
113320
|
],
|
|
113321
113321
|
"rules": [
|
|
113322
113322
|
"page-0624",
|
|
@@ -113493,7 +113493,7 @@
|
|
|
113493
113493
|
"debug": [
|
|
113494
113494
|
"page-0666",
|
|
113495
113495
|
"page-1225",
|
|
113496
|
-
"page-
|
|
113496
|
+
"page-1226",
|
|
113497
113497
|
"page-1280"
|
|
113498
113498
|
],
|
|
113499
113499
|
"helper": [
|
|
@@ -113622,7 +113622,7 @@
|
|
|
113622
113622
|
],
|
|
113623
113623
|
"commit": [
|
|
113624
113624
|
"page-0680",
|
|
113625
|
-
"page-
|
|
113625
|
+
"page-1226",
|
|
113626
113626
|
"page-1232"
|
|
113627
113627
|
],
|
|
113628
113628
|
"graphql": [
|
|
@@ -113712,7 +113712,7 @@
|
|
|
113712
113712
|
"schema": [
|
|
113713
113713
|
"page-0691",
|
|
113714
113714
|
"page-1225",
|
|
113715
|
-
"page-
|
|
113715
|
+
"page-1226"
|
|
113716
113716
|
],
|
|
113717
113717
|
"activate,": [
|
|
113718
113718
|
"page-0691"
|
|
@@ -113748,7 +113748,7 @@
|
|
|
113748
113748
|
"feed": [
|
|
113749
113749
|
"page-0698",
|
|
113750
113750
|
"page-0702",
|
|
113751
|
-
"page-
|
|
113751
|
+
"page-1226"
|
|
113752
113752
|
],
|
|
113753
113753
|
"hour": [
|
|
113754
113754
|
"page-0698",
|
|
@@ -113812,7 +113812,7 @@
|
|
|
113812
113812
|
],
|
|
113813
113813
|
"guardrails": [
|
|
113814
113814
|
"page-0714",
|
|
113815
|
-
"page-
|
|
113815
|
+
"page-1226"
|
|
113816
113816
|
],
|
|
113817
113817
|
"customize": [
|
|
113818
113818
|
"page-0714"
|
|
@@ -113939,7 +113939,7 @@
|
|
|
113939
113939
|
"duplicates": [
|
|
113940
113940
|
"page-0727",
|
|
113941
113941
|
"page-0728",
|
|
113942
|
-
"page-
|
|
113942
|
+
"page-1226"
|
|
113943
113943
|
],
|
|
113944
113944
|
"repeated": [
|
|
113945
113945
|
"page-0727"
|
|
@@ -114138,7 +114138,7 @@
|
|
|
114138
114138
|
"page-0818",
|
|
114139
114139
|
"page-0874",
|
|
114140
114140
|
"page-1082",
|
|
114141
|
-
"page-
|
|
114141
|
+
"page-1226"
|
|
114142
114142
|
],
|
|
114143
114143
|
"figma": [
|
|
114144
114144
|
"page-0819",
|
|
@@ -114465,7 +114465,7 @@
|
|
|
114465
114465
|
"https": [
|
|
114466
114466
|
"page-1070",
|
|
114467
114467
|
"page-1164",
|
|
114468
|
-
"page-
|
|
114468
|
+
"page-1226",
|
|
114469
114469
|
"page-1229"
|
|
114470
114470
|
],
|
|
114471
114471
|
"testing": [
|
|
@@ -114478,7 +114478,7 @@
|
|
|
114478
114478
|
],
|
|
114479
114479
|
"(beta)": [
|
|
114480
114480
|
"page-1083",
|
|
114481
|
-
"page-
|
|
114481
|
+
"page-1226"
|
|
114482
114482
|
],
|
|
114483
114483
|
"objects": [
|
|
114484
114484
|
"page-1144",
|
|
@@ -114683,7 +114683,7 @@
|
|
|
114683
114683
|
],
|
|
114684
114684
|
"assignment": [
|
|
114685
114685
|
"page-1190",
|
|
114686
|
-
"page-
|
|
114686
|
+
"page-1226"
|
|
114687
114687
|
],
|
|
114688
114688
|
"(drag": [
|
|
114689
114689
|
"page-1190"
|
|
@@ -114710,7 +114710,7 @@
|
|
|
114710
114710
|
],
|
|
114711
114711
|
"consistency": [
|
|
114712
114712
|
"page-1191",
|
|
114713
|
-
"page-
|
|
114713
|
+
"page-1226"
|
|
114714
114714
|
],
|
|
114715
114715
|
"sorting": [
|
|
114716
114716
|
"page-1191"
|
|
@@ -114718,7 +114718,7 @@
|
|
|
114718
114718
|
"functionality": [
|
|
114719
114719
|
"page-1191",
|
|
114720
114720
|
"page-1225",
|
|
114721
|
-
"page-
|
|
114721
|
+
"page-1226"
|
|
114722
114722
|
],
|
|
114723
114723
|
"deleting": [
|
|
114724
114724
|
"page-1191",
|
|
@@ -114732,7 +114732,7 @@
|
|
|
114732
114732
|
],
|
|
114733
114733
|
"nodes:": [
|
|
114734
114734
|
"page-1191",
|
|
114735
|
-
"page-
|
|
114735
|
+
"page-1226"
|
|
114736
114736
|
],
|
|
114737
114737
|
"'simplify'": [
|
|
114738
114738
|
"page-1191"
|
|
@@ -114773,7 +114773,7 @@
|
|
|
114773
114773
|
],
|
|
114774
114774
|
"general": [
|
|
114775
114775
|
"page-1191",
|
|
114776
|
-
"page-
|
|
114776
|
+
"page-1226",
|
|
114777
114777
|
"page-1282"
|
|
114778
114778
|
],
|
|
114779
114779
|
"philosophy": [
|
|
@@ -114872,7 +114872,7 @@
|
|
|
114872
114872
|
],
|
|
114873
114873
|
"lists": [
|
|
114874
114874
|
"page-1205",
|
|
114875
|
-
"page-
|
|
114875
|
+
"page-1226",
|
|
114876
114876
|
"page-1277"
|
|
114877
114877
|
],
|
|
114878
114878
|
"subtitles": [
|
|
@@ -114923,7 +114923,7 @@
|
|
|
114923
114923
|
],
|
|
114924
114924
|
"show": [
|
|
114925
114925
|
"page-1209",
|
|
114926
|
-
"page-
|
|
114926
|
+
"page-1226"
|
|
114927
114927
|
],
|
|
114928
114928
|
"menu": [
|
|
114929
114929
|
"page-1209",
|
|
@@ -114963,7 +114963,7 @@
|
|
|
114963
114963
|
"trial": [
|
|
114964
114964
|
"page-1214",
|
|
114965
114965
|
"page-1217",
|
|
114966
|
-
"page-
|
|
114966
|
+
"page-1226"
|
|
114967
114967
|
],
|
|
114968
114968
|
"expiration": [
|
|
114969
114969
|
"page-1214"
|
|
@@ -115011,7 +115011,7 @@
|
|
|
115011
115011
|
],
|
|
115012
115012
|
"enhancements": [
|
|
115013
115013
|
"page-1225",
|
|
115014
|
-
"page-
|
|
115014
|
+
"page-1226"
|
|
115015
115015
|
],
|
|
115016
115016
|
"extension": [
|
|
115017
115017
|
"page-1225"
|
|
@@ -115031,11 +115031,11 @@
|
|
|
115031
115031
|
],
|
|
115032
115032
|
"overhaul": [
|
|
115033
115033
|
"page-1225",
|
|
115034
|
-
"page-
|
|
115034
|
+
"page-1226"
|
|
115035
115035
|
],
|
|
115036
115036
|
"experience": [
|
|
115037
115037
|
"page-1225",
|
|
115038
|
-
"page-
|
|
115038
|
+
"page-1226"
|
|
115039
115039
|
],
|
|
115040
115040
|
"contributor": [
|
|
115041
115041
|
"page-1225"
|
|
@@ -115045,31 +115045,31 @@
|
|
|
115045
115045
|
],
|
|
115046
115046
|
"overhauled": [
|
|
115047
115047
|
"page-1225",
|
|
115048
|
-
"page-
|
|
115048
|
+
"page-1226"
|
|
115049
115049
|
],
|
|
115050
115050
|
"redesigned": [
|
|
115051
115051
|
"page-1225"
|
|
115052
115052
|
],
|
|
115053
115053
|
"platform": [
|
|
115054
115054
|
"page-1225",
|
|
115055
|
-
"page-
|
|
115055
|
+
"page-1226"
|
|
115056
115056
|
],
|
|
115057
115057
|
"highlights": [
|
|
115058
115058
|
"page-1225",
|
|
115059
|
-
"page-
|
|
115059
|
+
"page-1226"
|
|
115060
115060
|
],
|
|
115061
115061
|
"sticky": [
|
|
115062
115062
|
"page-1225",
|
|
115063
|
-
"page-
|
|
115063
|
+
"page-1226",
|
|
115064
115064
|
"page-1276"
|
|
115065
115065
|
],
|
|
115066
115066
|
"enhanced": [
|
|
115067
115067
|
"page-1225",
|
|
115068
|
-
"page-
|
|
115068
|
+
"page-1226"
|
|
115069
115069
|
],
|
|
115070
115070
|
"feature:": [
|
|
115071
115071
|
"page-1225",
|
|
115072
|
-
"page-
|
|
115072
|
+
"page-1226"
|
|
115073
115073
|
],
|
|
115074
115074
|
"negative": [
|
|
115075
115075
|
"page-1225"
|
|
@@ -115078,158 +115078,158 @@
|
|
|
115078
115078
|
"page-1225"
|
|
115079
115079
|
],
|
|
115080
115080
|
"n8n@1": [
|
|
115081
|
-
"page-
|
|
115081
|
+
"page-1226"
|
|
115082
115082
|
],
|
|
115083
115083
|
"provisioning": [
|
|
115084
|
-
"page-
|
|
115084
|
+
"page-1226",
|
|
115085
115085
|
"page-1249",
|
|
115086
115086
|
"page-1258",
|
|
115087
115087
|
"page-1259"
|
|
115088
115088
|
],
|
|
115089
115089
|
"critical": [
|
|
115090
|
-
"page-
|
|
115090
|
+
"page-1226"
|
|
115091
115091
|
],
|
|
115092
115092
|
"control:": [
|
|
115093
|
-
"page-
|
|
115093
|
+
"page-1226"
|
|
115094
115094
|
],
|
|
115095
115095
|
"added": [
|
|
115096
|
-
"page-
|
|
115096
|
+
"page-1226"
|
|
115097
115097
|
],
|
|
115098
115098
|
"**no": [
|
|
115099
|
-
"page-
|
|
115099
|
+
"page-1226"
|
|
115100
115100
|
],
|
|
115101
115101
|
"plan**": [
|
|
115102
|
-
"page-
|
|
115102
|
+
"page-1226"
|
|
115103
115103
|
],
|
|
115104
115104
|
"**respond": [
|
|
115105
|
-
"page-
|
|
115105
|
+
"page-1226"
|
|
115106
115106
|
],
|
|
115107
115107
|
"**chat": [
|
|
115108
|
-
"page-
|
|
115108
|
+
"page-1226"
|
|
115109
115109
|
],
|
|
115110
115110
|
"streaming**": [
|
|
115111
|
-
"page-
|
|
115111
|
+
"page-1226"
|
|
115112
115112
|
],
|
|
115113
115113
|
"(openid": [
|
|
115114
|
-
"page-
|
|
115114
|
+
"page-1226"
|
|
115115
115115
|
],
|
|
115116
115116
|
"connect)": [
|
|
115117
|
-
"page-
|
|
115117
|
+
"page-1226"
|
|
115118
115118
|
],
|
|
115119
115119
|
"admins": [
|
|
115120
|
-
"page-
|
|
115120
|
+
"page-1226"
|
|
115121
115121
|
],
|
|
115122
115122
|
"extended": [
|
|
115123
|
-
"page-
|
|
115123
|
+
"page-1226"
|
|
115124
115124
|
],
|
|
115125
115125
|
"assigning": [
|
|
115126
|
-
"page-
|
|
115126
|
+
"page-1226",
|
|
115127
115127
|
"page-1256"
|
|
115128
115128
|
],
|
|
115129
115129
|
"pending": [
|
|
115130
|
-
"page-
|
|
115130
|
+
"page-1226",
|
|
115131
115131
|
"page-1246"
|
|
115132
115132
|
],
|
|
115133
115133
|
"faster": [
|
|
115134
|
-
"page-
|
|
115134
|
+
"page-1226"
|
|
115135
115135
|
],
|
|
115136
115136
|
"partial": [
|
|
115137
|
-
"page-
|
|
115137
|
+
"page-1226",
|
|
115138
115138
|
"page-1283"
|
|
115139
115139
|
],
|
|
115140
115140
|
"breadcrumb": [
|
|
115141
|
-
"page-
|
|
115141
|
+
"page-1226"
|
|
115142
115142
|
],
|
|
115143
115143
|
"protocol": [
|
|
115144
|
-
"page-
|
|
115144
|
+
"page-1226",
|
|
115145
115145
|
"page-1245"
|
|
115146
115146
|
],
|
|
115147
115147
|
"(mcp)": [
|
|
115148
|
-
"page-
|
|
115148
|
+
"page-1226"
|
|
115149
115149
|
],
|
|
115150
115150
|
"preview": [
|
|
115151
|
-
"page-
|
|
115151
|
+
"page-1226"
|
|
115152
115152
|
],
|
|
115153
115153
|
"tidy": [
|
|
115154
|
-
"page-
|
|
115154
|
+
"page-1226"
|
|
115155
115155
|
],
|
|
115156
115156
|
"editing": [
|
|
115157
|
-
"page-
|
|
115157
|
+
"page-1226",
|
|
115158
115158
|
"page-1267"
|
|
115159
115159
|
],
|
|
115160
115160
|
"modal": [
|
|
115161
|
-
"page-
|
|
115161
|
+
"page-1226"
|
|
115162
115162
|
],
|
|
115163
115163
|
"beta": [
|
|
115164
|
-
"page-
|
|
115164
|
+
"page-1226"
|
|
115165
115165
|
],
|
|
115166
115166
|
"debugging": [
|
|
115167
|
-
"page-
|
|
115167
|
+
"page-1226"
|
|
115168
115168
|
],
|
|
115169
115169
|
"collaborators": [
|
|
115170
|
-
"page-
|
|
115170
|
+
"page-1226"
|
|
115171
115171
|
],
|
|
115172
115172
|
"override": [
|
|
115173
|
-
"page-
|
|
115173
|
+
"page-1226"
|
|
115174
115174
|
],
|
|
115175
115175
|
"registry": [
|
|
115176
|
-
"page-
|
|
115176
|
+
"page-1226"
|
|
115177
115177
|
],
|
|
115178
115178
|
"rolling": [
|
|
115179
|
-
"page-
|
|
115179
|
+
"page-1226"
|
|
115180
115180
|
],
|
|
115181
115181
|
"enhancement:": [
|
|
115182
|
-
"page-
|
|
115182
|
+
"page-1226"
|
|
115183
115183
|
],
|
|
115184
115184
|
"methods,": [
|
|
115185
|
-
"page-
|
|
115185
|
+
"page-1226"
|
|
115186
115186
|
],
|
|
115187
115187
|
"role:": [
|
|
115188
|
-
"page-
|
|
115188
|
+
"page-1226"
|
|
115189
115189
|
],
|
|
115190
115190
|
"increased": [
|
|
115191
|
-
"page-
|
|
115191
|
+
"page-1226"
|
|
115192
115192
|
],
|
|
115193
115193
|
"owners": [
|
|
115194
|
-
"page-
|
|
115194
|
+
"page-1226"
|
|
115195
115195
|
],
|
|
115196
115196
|
"avatars": [
|
|
115197
|
-
"page-
|
|
115197
|
+
"page-1226"
|
|
115198
115198
|
],
|
|
115199
115199
|
"creator": [
|
|
115200
|
-
"page-
|
|
115200
|
+
"page-1226"
|
|
115201
115201
|
],
|
|
115202
115202
|
"note": [
|
|
115203
|
-
"page-
|
|
115203
|
+
"page-1226",
|
|
115204
115204
|
"page-1276"
|
|
115205
115205
|
],
|
|
115206
115206
|
"colors": [
|
|
115207
|
-
"page-
|
|
115207
|
+
"page-1226",
|
|
115208
115208
|
"page-1276"
|
|
115209
115209
|
],
|
|
115210
115210
|
"dark": [
|
|
115211
|
-
"page-
|
|
115211
|
+
"page-1226"
|
|
115212
115212
|
],
|
|
115213
115213
|
"supports": [
|
|
115214
|
-
"page-
|
|
115214
|
+
"page-1226"
|
|
115215
115215
|
],
|
|
115216
115216
|
"tournament": [
|
|
115217
|
-
"page-
|
|
115217
|
+
"page-1226"
|
|
115218
115218
|
],
|
|
115219
115219
|
"ttl`": [
|
|
115220
|
-
"page-
|
|
115220
|
+
"page-1226"
|
|
115221
115221
|
],
|
|
115222
115222
|
"`executions": [
|
|
115223
|
-
"page-
|
|
115223
|
+
"page-1226"
|
|
115224
115224
|
],
|
|
115225
115225
|
"timeout`": [
|
|
115226
|
-
"page-
|
|
115226
|
+
"page-1226"
|
|
115227
115227
|
],
|
|
115228
115228
|
"persisted": [
|
|
115229
|
-
"page-
|
|
115229
|
+
"page-1226"
|
|
115230
115230
|
],
|
|
115231
115231
|
"secops": [
|
|
115232
|
-
"page-
|
|
115232
|
+
"page-1226"
|
|
115233
115233
|
],
|
|
115234
115234
|
"pattern": [
|
|
115235
115235
|
"page-1228"
|
|
@@ -117988,13 +117988,13 @@
|
|
|
117988
117988
|
"onfleettrigger": [
|
|
117989
117989
|
"page-1114"
|
|
117990
117990
|
],
|
|
117991
|
-
"
|
|
117991
|
+
"paypaltrigger": [
|
|
117992
117992
|
"page-1115"
|
|
117993
117993
|
],
|
|
117994
|
-
"
|
|
117994
|
+
"pipedrivetrigger": [
|
|
117995
117995
|
"page-1116"
|
|
117996
117996
|
],
|
|
117997
|
-
"
|
|
117997
|
+
"postgrestrigger": [
|
|
117998
117998
|
"page-1117"
|
|
117999
117999
|
],
|
|
118000
118000
|
"postmarktrigger": [
|