From 848c855a4dc80613febb02ad6fa7daef1fc5579b Mon Sep 17 00:00:00 2001 From: Cornelius Suermann Date: Mon, 7 Apr 2025 16:26:57 +0200 Subject: [PATCH] Improve docs on License Management (#3033) Co-authored-by: Justin Ellingwood --- docs/glossary.md | 6 +++++ docs/hosting/cli-commands.md | 11 ++++---- .../environment-variables/licenses.md | 6 ++--- docs/hosting/scaling/external-storage.md | 26 ++++++++++--------- docs/{enterprise-key.md => license-key.md} | 17 ++++++------ nav.yml | 2 +- 6 files changed, 39 insertions(+), 29 deletions(-) rename docs/{enterprise-key.md => license-key.md} (52%) diff --git a/docs/glossary.md b/docs/glossary.md index 74f101289..383192ac9 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -53,6 +53,12 @@ Data pinning allows you to temporarily freeze the output data of a node during w The n8n editor UI allows you to create and manage workflows. The main area is the canvas, where you can compose workflows by adding, configuring, and connecting nodes. The side and top panels allow you to access other areas of the UI like credentials, templates, variables, executions, and more. +#### entitlement (n8n) + +In n8n, entitlements grant n8n instances access to plan-restricted features for a specific period of time. + +Floating entitlements are a pool of entitlements that you can distribute among various n8n instances. You can re-assign a floating entitlement to transfer its access to a different n8n instance. + #### evaluation (n8n) In n8n, evaluation allows you to tag and organize execution history and compare it against new executions. You can use this to understand how your workflow performs over time as you make changes. In particular, this is useful while developing AI-centered workflows. diff --git a/docs/hosting/cli-commands.md b/docs/hosting/cli-commands.md index db856bbd3..7a4606c5b 100644 --- a/docs/hosting/cli-commands.md +++ b/docs/hosting/cli-commands.md @@ -14,6 +14,7 @@ You can use CLI commands with self-hosted n8n. Depending on how you choose to in * npm: the `n8n` command is directly available. The documentation uses this in the examples below. * Docker: the `n8n` command is available within your Docker container: + ```sh docker exec -u node -it ``` @@ -34,7 +35,7 @@ You can change the active status of a workflow using the CLI. /// note | Restart required These commands operate on your n8n database. If you execute them while n8n is running, the changes don't take effect until you restart n8n. -/// +/// Set the active status of a workflow by its ID to false: @@ -134,11 +135,11 @@ Export all the credentials in plain text format. You can use this to migrate fro /// warning | Sensitive information All sensitive information is visible in the files. /// + ```bash n8n export:credentials --all --decrypted --output=backups/decrypted.json ``` - ## Import workflows and credentials You can import your workflows and credentials from n8n using the CLI. @@ -165,9 +166,6 @@ This might result in errors like **Data too long for column name** during the im In this case, you can edit the names from the n8n interface and export again, or edit the JSON file directly before importing. /// - - - ### Workflows Import workflows from a specific file: @@ -175,6 +173,7 @@ Import workflows from a specific file: ```bash n8n import:workflow --input=file.json ``` + Import all the workflow files as JSON from the specified directory: ```bash @@ -205,6 +204,8 @@ Clear your existing license from n8n's database and reset n8n to default feature n8n license:clear ``` +If your license includes [floating entitlements](/glossary.md#entitlement-n8n), running this command will also attempt to release them back to the pool, making them available for other instances. + ### Info Display information about the existing license: diff --git a/docs/hosting/configuration/environment-variables/licenses.md b/docs/hosting/configuration/environment-variables/licenses.md index 78bb9810a..7d83e5c74 100644 --- a/docs/hosting/configuration/environment-variables/licenses.md +++ b/docs/hosting/configuration/environment-variables/licenses.md @@ -14,14 +14,14 @@ hide: --8<-- "_snippets/self-hosting/file-based-configuration.md" -To enable enterprise features, you need to add your enterprise license key. You can do this through the UI, or using environment variables. Refer to [Enterprise license key](/enterprise-key.md) for details. +To enable certain licensed features, you must first activate your license. You can do this either through the UI or by setting environment variables. For more information, see [license key](/license-key.md). | Variable | Type | Default | Description | | :------- | :---- | :------- | :---------- | | `N8N_HIDE_USAGE_PAGE` | boolean | `false` | Hide the usage and plans page in the app. | | `N8N_LICENSE_ACTIVATION_KEY` | String | `''` | Activation key to initialize license. Not applicable if the n8n instance was already activated. | -| `N8N_LICENSE_AUTO_RENEW_ENABLED` | Boolean | `true` | Enables (true) or disables (false) autorenewal for licenses.
If disabled, you need to manually renew the license every 10 days by navigating to **Settings** > **Usage and plan**, and pressing `F5`. Failure to renew the license will disable Enterprise features. | -| `N8N_LICENSE_AUTO_RENEW_OFFSET` | Number | `60 * 60 * 72` (72 hours) | Time in seconds before expiry a license should automatically renew. | +| `N8N_LICENSE_AUTO_RENEW_ENABLED` | Boolean | `true` | Enables (true) or disables (false) autorenewal for licenses.
If disabled, you need to manually renew the license every 10 days by navigating to **Settings** > **Usage and plan**, and pressing `F5`. Failure to renew the license will disable all licensed features. | +| `N8N_LICENSE_DETACH_FLOATING_ON_SHUTDOWN` | Boolean | `true` | Controls whether the instance releases [floating entitlements](/glossary.md#entitlement-n8n) back to the pool upon shutdown. Set to `true` to allow other instances to reuse the entitlements, or `false` to retain them.
For production instances that must always keep their licensed features, set this to `false`. | | `N8N_LICENSE_SERVER_URL` | String | `http://license.n8n.io/v1` | Server URL to retrieve license. | | `N8N_LICENSE_TENANT_ID` | Number | `1` | Tenant ID associated with the license. Only set this variable if explicitly instructed by n8n. | | `http_proxy_license_server` | String | `http://user:pass@proxy:port`| Proxy server URL for HTTP requests to retrieve license. This variable name needs to be lowercase. | diff --git a/docs/hosting/scaling/external-storage.md b/docs/hosting/scaling/external-storage.md index e36ecc878..0f6ec7f62 100644 --- a/docs/hosting/scaling/external-storage.md +++ b/docs/hosting/scaling/external-storage.md @@ -14,11 +14,12 @@ search: # External storage /// info | Feature availability + * Available on Self-hosted Enterprise plans * If you want access to this feature on Cloud Enterprise, [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa){:target=_blank .external-link}. /// -n8n can store binary data produced by workflow executions externally. This feature is useful to avoid relying on the filesystem for storing large amounts of binary data. +n8n can store binary data produced by workflow executions externally. This feature is useful to avoid relying on the filesystem for storing large amounts of binary data. n8n will introduce external storage for other data types in the future. @@ -27,23 +28,24 @@ n8n will introduce external storage for other data types in the future. n8n supports [AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html){:target=_blank .external-link} as an external store for binary data produced by workflow executions. You can use other S3-compatible services like Cloudflare R2 and Backblaze B2, but n8n doesn't officially support these. /// info | Enterprise-tier feature -You will need an [Enterprise license key](/enterprise-key.md) for external storage. If your license key expires and you remain on S3 mode, the instance will be able to read from, but not write to, the S3 bucket. +You will need an [Enterprise license key](/license-key.md) for external storage. If your license key expires and you remain on S3 mode, the instance will be able to read from, but not write to, the S3 bucket. /// + ### Setup Create and configure a bucket following the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html){:target=_blank .external-link}. You can use the following policy, replacing `` with the name of the bucket you created: ```json { - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "VisualEditor0", - "Effect": "Allow", - "Action": ["s3:*"], - "Resource": ["arn:aws:s3:::", "arn:aws:s3:::/*"] - } - ] + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "VisualEditor0", + "Effect": "Allow", + "Action": ["s3:*"], + "Resource": ["arn:aws:s3:::", "arn:aws:s3:::/*"] + } + ] } ``` @@ -60,7 +62,7 @@ export N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET=... ``` /// note | No region -If your provider doesn't require a region, you can set `N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION` to `'auto'`. +If your provider doesn't require a region, you can set `N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION` to `'auto'`. /// Tell n8n to store binary data in S3: diff --git a/docs/enterprise-key.md b/docs/license-key.md similarity index 52% rename from docs/enterprise-key.md rename to docs/license-key.md index 6dc907909..1349cd01b 100644 --- a/docs/enterprise-key.md +++ b/docs/license-key.md @@ -1,29 +1,30 @@ --- #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4 -title: Enterprise key -description: How to use your enterprise license key. +title: License key +description: How to activate your license key. contentType: howto --- -# Enterprise license key +# License Key -You need to add your enterprise license key to enable enterprise features. You can do this through the UI, or using environment variables. +To enable certain licensed features, you must first activate your license. You can do this either through the UI or by setting environment variables. -## Add an enterprise license key in the UI +## Add a license key using the UI In your n8n instance: +1. Log in as **Admin** or **Owner**. 1. Select **Settings** > **Usage and plan**. 1. Select **Enter activation key**. 1. Paste in your license key. 1. Select **Activate**. -## Add an enterprise license key using environment variables +## Add a license key using an environment variables -In your n8n configuration, set `N8N_LICENSE_ACTIVATION_KEY` to your license key. +In your n8n configuration, set `N8N_LICENSE_ACTIVATION_KEY` to your license key. If the instance already has an activated license, this variable will have no effect. Refer to [Environment variables](/hosting/configuration/configuration-methods.md) to learn more about configuring n8n. ## Allowlist the license server IP addresses -n8n uses Cloudflare to host the license server. As the specific IP addresses can change, you need to allowlist the [full range of Cloudflare IPs](https://www.cloudflare.com/ips/){:target=_blank .external-link} to ensure n8n can always reach the license server. +n8n uses Cloudflare to host the license server. As the specific IP addresses can change, you need to allowlist the [full range of Cloudflare IP addresses](https://www.cloudflare.com/ips/) to ensure n8n can always reach the license server. diff --git a/nav.yml b/nav.yml index 5c757657a..021122c9f 100644 --- a/nav.yml +++ b/nav.yml @@ -146,7 +146,7 @@ nav: - "Tutorial: Create environments with source control": source-control-environments/create-environments.md - External secrets: external-secrets.md - Log streaming: log-streaming.md - - Enterprise license key: enterprise-key.md + - License key: license-key.md - Releases: - Release notes: - 1.x: release-notes.md