diff --git a/.vale.ini b/.vale.ini index a93502ffe..bfcd27b6b 100644 --- a/.vale.ini +++ b/.vale.ini @@ -2,4 +2,5 @@ StylesPath = "styles" MinAlertLevel = warning Vocab = default [*.md] -BasedOnStyles = alex, write-good, Microsoft, n8n-styles \ No newline at end of file +BasedOnStyles = alex, write-good, Microsoft, n8n-styles, Vale +alex.Profanity = NO \ No newline at end of file diff --git a/docs/hosting/configuration.md b/docs/hosting/configuration.md index 295d89713..e5363d377 100644 --- a/docs/hosting/configuration.md +++ b/docs/hosting/configuration.md @@ -1,16 +1,16 @@ # Configuration -It is possible to change some of the n8n defaults via special environment variables. +It's possible to change some n8n defaults using environment variables. For a full list of available configurations see [Environment Variables](/hosting/environment-variables/). ## How to set -Where you set these environment variables depends on how you are [running](/) n8n, via npm or Docker. +Where you set these environment variables depends on how you are running n8n: with npm or Docker. ### npm -For npm, set your desired environment variables in Terminal using the `export` command as shown below: +For npm, set your desired environment variables in terminal using the `export` command as shown below: ```bash export = @@ -18,7 +18,7 @@ export = ### Docker -For Docker, you can set your desired environment variables in the `n8n: environment:` element of your `docker-compose.yaml` file . For example: +For Docker, you can set your environment variables in the `n8n: environment:` element of your `docker-compose.yaml` file. For example: ```yaml n8n: @@ -40,23 +40,24 @@ docker run -it --rm \ n8nio/n8n ``` -### Configuration via file +### Configuration by file -It is also possible to configure n8n using a configuration file. +You can also configure n8n using a configuration file. -Only the values that should be different from the default need to be defined in your configuration file. If needed multiple files can also be supplied. For example, you can have some generic base settings and some specific ones depending on the environment. +Only define the values that need to be different from the default in your configuration file. You can use multiple files. For example, you can have a file with generic base settings, and files with specific values for different environments. -The path to the JSON configuration file to use can be set using the environment variable `N8N_CONFIG_FILES`. +Set the path to the JSON configuration file using the environment variable `N8N_CONFIG_FILES`. ```bash # Single file export N8N_CONFIG_FILES=/folder/my-config.json -# Multiple files can be comma-separated +# Multiple files are comma-separated export N8N_CONFIG_FILES=/folder/my-config.json,/folder/production.json ``` A possible configuration file could look like this: + ```json { "executions": { @@ -79,9 +80,7 @@ A possible configuration file could look like this: } ``` -You can also append `_FILE` to some individual environment variables to provide their configuration in a separate file, enabling you to avoid passing sensitive details via environment variables. - -n8n will then load the data from the file with the given name, making it possible to easily load data from Docker- and Kubernetes-Secrets. +You can also append `_FILE` to some individual environment variables to provide their configuration in a separate file, enabling you to avoid passing sensitive details using environment variables. n8n loads the data from the file with the given name, making it possible to load data from Docker- and Kubernetes-Secrets. The following environment variables support file input: @@ -117,11 +116,11 @@ The following environment variables support file input: ### Base URL -!!! warning "Keep in mind" - This variable only gets used when the `n8n-editor-ui` package gets built manually. Hence, it does not get used in combination with the default n8n docker image. By default, `/` gets used, meaning that it uses the root-domain. +!!! warning "Requires manual UI build" + This variable requires a manual build of the `n8n-editor-ui` package. You can't use it with the default n8n docker image. The default it`/`, meaning that it uses the root-domain. -Tells the frontend how to reach the REST API of the backend. +Tells the frontend how to reach the REST API of the back-end. ```bash export VUE_APP_URL_BASE_API=https://n8n.example.com/ @@ -130,9 +129,9 @@ export VUE_APP_URL_BASE_API=https://n8n.example.com/ ### Encryption key n8n creates a random encryption key automatically on the first launch and saves -it in the `~/.n8n` folder. That key is used to encrypt the credentials before -they get saved to the database. It is also possible to overwrite that key and -set it via an environment variable. +it in the `~/.n8n` folder. n8n uses that key to encrypt the credentials before +they get saved to the database. It's possible to overwrite the key and +set it using an environment variable. ```bash export N8N_ENCRYPTION_KEY= @@ -140,8 +139,8 @@ export N8N_ENCRYPTION_KEY= ### Execute in same process -All workflows get executed in their own separate process. This ensures that all CPU cores get used and that they do not block each other on CPU intensive tasks. Additionally, this makes sure that the crash of one execution does not take down the whole application. The disadvantage is, however, that it slows down the start-time considerably and uses much more memory. So in case the -workflows are not CPU intensive and they have to start very fast, it is possible to run them all directly in the main-process with this setting. +All workflows run in their own separate process. This ensures that all CPU cores get used and that they don't block each other on CPU intensive tasks. It also makes sure that one execution crashing doesn't take down the whole application. The disadvantage is that it slows down the start-time considerably and uses much more memory. If your +workflows aren't CPU intensive, and they have to start very fast, it's possible to run them all directly in the main-process with this setting. ```bash export EXECUTIONS_PROCESS=main @@ -149,9 +148,9 @@ export EXECUTIONS_PROCESS=main ### Execution timeout -A workflow times out and gets canceled after this time (in seconds). If the workflow is executed in the main process, a soft timeout is executed (takes effect after the current node finishes). If a workflow is running in its own process, a soft timeout is tried first. The process is killed after waiting for an additional fifth of the given timeout duration. +A workflow times out and gets canceled after this time (in seconds). If the workflow runs in the main process, a soft timeout happens (takes effect after the current node finishes). If a workflow runs in its own process, n8n attempts a soft timeout first, then kills the process after waiting for an additional fifth of the given timeout duration. -By default `EXECUTIONS_TIMEOUT` is set to `-1`. For example, if you want to set the timeout to one hour: +`EXECUTIONS_TIMEOUT` default is `-1`. For example, if you want to set the timeout to one hour: ```bash export EXECUTIONS_TIMEOUT=3600 @@ -167,7 +166,7 @@ export EXECUTIONS_TIMEOUT_MAX=7200 Every user can add custom nodes that get loaded by n8n on startup. The default location is in the subfolder `.n8n/custom` of the user who started n8n. -Additional folders can be defined with an environment variable. +You can define additional folders with an environment variable. ```bash export N8N_CUSTOM_EXTENSIONS="/home/jim/n8n/custom-nodes;/data/n8n/nodes" @@ -175,12 +174,10 @@ export N8N_CUSTOM_EXTENSIONS="/home/jim/n8n/custom-nodes;/data/n8n/nodes" ### Use built-in and external modules in Function-Nodes -For security reasons, importing modules is restricted by default in the Function-Nodes. -It is, however, possible to lift that restriction for built-in and external modules by -setting the following environment variables: +For security reasons, ithe Function node restricts importing modules. It's possible to lift that restriction for built-in and external modules by setting the following environment variables: -- `NODE_FUNCTION_ALLOW_BUILTIN`: For builtin modules -- `NODE_FUNCTION_ALLOW_EXTERNAL`: For external modules sourced from n8n/node_modules directory. External module support is disabled when env variable is not set. +- `NODE_FUNCTION_ALLOW_BUILTIN`: For built-in modules +- `NODE_FUNCTION_ALLOW_EXTERNAL`: For external modules sourced from n8n/node_modules directory. External module support is disabled when an environment variable isn't set. ```bash # Allows usage of all builtin modules @@ -198,10 +195,7 @@ export NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash ### Timezone -The timezone is set by default to "America/New_York". For instance, it is used by the -Cron node to know at what time the workflow should be started. To set a different -default timezone, set `GENERIC_TIMEZONE` to the appropriate value. For example, -if you want to set the timezone to Berlin (Germany): +The default timezone is "America/New_York". For instance, the Cron node uses it to know at what time the workflow should start. To set a different default timezone, set `GENERIC_TIMEZONE` to the appropriate value. For example, if you want to set the timezone to Berlin (Germany): ```bash export GENERIC_TIMEZONE=Europe/Berlin @@ -211,10 +205,8 @@ You can find the name of your timezone [here](https://momentjs.com/timezone/). ### User folder -User-specific data like the encryption key, SQLite database file, and -the ID of the tunnel (if used) gets saved by default in the subfolder -`.n8n` of the user who started n8n. It is possible to overwrite the -user-folder via an environment variable. +n8n saves user-specific data like the encryption key, SQLite database file, and +the ID of the tunnel (if used) in the subfolder `.n8n` of the user who started n8n. It's possible to overwrite the user-folder using an environment variable. ```bash export N8N_USER_FOLDER=/home/jim/n8n @@ -222,13 +214,9 @@ export N8N_USER_FOLDER=/home/jim/n8n ### Webhook URL -The webhook URL will normally be created automatically by combining -`N8N_PROTOCOL`, `N8N_HOST` and `N8N_PORT`. However, if n8n runs behind a -reverse proxy that would not work. That's because n8n runs internally -on port 5678 but is exposed to the web via the reverse proxy on port 443. In -that case, it is important to set the webhook URL manually so that it can be -displayed correctly in the Editor UI and even more important is that the correct -webhook URLs get registred with the external services. +n8n creates the webhook URL by combining `N8N_PROTOCOL`, `N8N_HOST` and `N8N_PORT`. If n8n runs behind a reverse proxy that won't work. That's because n8n runs internally +on port 5678 but is exposed to the web using the reverse proxy on port 443. In +that case, it's important to set the webhook URL manually so that n8n can display it correctly in the Editor UI and register the correct webhook URLs with external services. ```bash export WEBHOOK_URL=https://n8n.example.com/ @@ -236,18 +224,19 @@ export WEBHOOK_URL=https://n8n.example.com/ ### Prometheus -In order to collect and expose metrics, n8n uses the [prom-client](https://www.npmjs.com/package/prom-client) library. +To collect and expose metrics, n8n uses the [prom-client](https://www.npmjs.com/package/prom-client) library. -The `/metrics` endpoint is disabled by default, but it is possible to enable it using the `N8N_METRICS` environment variable. +The `/metrics` endpoint is disabled by default, but it's possible to enable it using the `N8N_METRICS` environment variable. ```bash export N8N_METRICS=true ``` -It is also possible to overwrite the prefix of the metric names by setting the `N8N_METRICS_PREFIX` environment variable. +It's also possible to overwrite the prefix of the metric names by setting the `N8N_METRICS_PREFIX` environment variable. ```bash export N8N_METRICS_PREFIX=n8n_ ``` -**Note:** At the moment, n8n does not support metrics for webhooks. +!!! note "Metrics and webhooks" + At the moment, n8n doesn't support metrics for webhooks. diff --git a/docs/hosting/environment-variables.md b/docs/hosting/environment-variables.md index a6bc777a0..c604d1dbb 100644 --- a/docs/hosting/environment-variables.md +++ b/docs/hosting/environment-variables.md @@ -1,12 +1,12 @@ # Environment Variables -!!! note "Keep in mind" - You can provide a [configuration file](/hosting/configuration/#configuration-via-file) for n8n, and also append `_FILE` to certain variables to provide their configuration separately, indicated by "/`_FILE`" below. +!!! note "File-based configuration" + You can provide a [configuration file](/hosting/configuration/#configuration-via-file) for n8n. You can also append `_FILE` to certain variables to provide their configuration in a separate file. Variables that support this have the "/`_FILE`" option listed below. ## Credentials -Enabling overwrites for credentials allows you to set default values for credentials which get automatically prefilled. The user cannot see or change these credentials. The format is `{ CREDENTIAL_NAME: { PARAMTER: VALUE }}`. +Enabling overwrites for credentials allows you to set default values for credentials which get automatically populated. The user can't see or change these credentials. The format is `{ CREDENTIAL_NAME: { PARAMTER: VALUE }}`. | Variable | Type | Description | | :------- | :--- | :---------- | @@ -18,8 +18,8 @@ Enabling overwrites for credentials allows you to set default values for credent | Variable | Type | Description | | :------- | :--- | :---------- | -| `DB_TYPE`/`_FILE` | `enum string`: `sqlite`, `mariadb`, `mysqldb`, `postgresdb` | The type of database to use. Default value is `sqlite`. | -| `DB_TABLE_PREFIX` | `*` | Prefix to be used for table names. | +| `DB_TYPE`/`_FILE` | `enum string`: `sqlite`, `mariadb`, `mysqldb`, `postgresdb` | The database to use. Default value is `sqlite`. | +| `DB_TABLE_PREFIX` | `*` | Prefix to use for table names. | ### MySQL @@ -31,73 +31,74 @@ Enabling overwrites for credentials allows you to set default values for credent | `DB_MYSQLDB_USER`/`_FILE` | `string` | The MySQL user. Default value is `root`. | | `DB_MYSQLDB_PASSWORD`/`_FILE` | `string` | The MySQL password. | -### Postgres +### PostgreSQL | Variable | Type | Description | | :------- | :--- | :---------- | -| `DB_POSTGRESDB_DATABASE`/`_FILE` | `string` | The name of the PostgresDB database. Default value is `n8n`. | -| `DB_POSTGRESDB_HOST`/`_FILE` | `string` | The PostgresDB host. Default value is `localhost`. | -| `DB_POSTGRESDB_PORT`/`_FILE` | `number` | The PostgresDB port. Default value is `5432`. | -| `DB_POSTGRESDB_USER`/`_FILE` | `string` | The PostgresDB user. Default value is `root`. | -| `DB_POSTGRESDB_PASSWORD`/`_FILE` | `string` | The PostgresDB password. | -| `DB_POSTGRESDB_SCHEMA`/`_FILE` | `string` | The PostgresDB schema. Default value is `public`. | -| `DB_POSTGRESDB_SSL_CA`/`_FILE` | `string` | The PostgresDB SSL certificate authority. | -| `DB_POSTGRESDB_SSL_CERT`/`_FILE` | `string` | The PostgresDB SSL certificate. | -| `DB_POSTGRESDB_SSL_KEY`/`_FILE` | `string` | The PostgresDB SSL key. | -| `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED`/`_FILE` | `boolean` | If unauthorized SSL connections should be rejected. Default value is `true`. | +| `DB_POSTGRESDB_DATABASE`/`_FILE` | `string` | The name of the PostgreSQL database. Default value is `n8n`. | +| `DB_POSTGRESDB_HOST`/`_FILE` | `string` | The PostgreSQL host. Default value is `localhost`. | +| `DB_POSTGRESDB_PORT`/`_FILE` | `number` | The PostgreSQL port. Default value is `5432`. | +| `DB_POSTGRESDB_USER`/`_FILE` | `string` | The PostgreSQL user. Default value is `root`. | +| `DB_POSTGRESDB_PASSWORD`/`_FILE` | `string` | The PostgreSQL password. | +| `DB_POSTGRESDB_SCHEMA`/`_FILE` | `string` | The PostgreSQL schema. Default value is `public`. | +| `DB_POSTGRESDB_SSL_CA`/`_FILE` | `string` | The PostgreSQL SSL certificate authority. | +| `DB_POSTGRESDB_SSL_CERT`/`_FILE` | `string` | The PostgreSQL SSL certificate. | +| `DB_POSTGRESDB_SSL_KEY`/`_FILE` | `string` | The PostgreSQL SSL key. | +| `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED`/`_FILE` | `boolean` | If n8n should reject unauthorized SSL connections. Default value is `true`. | ### SQLite | Variable | Type | Description | | :------- | :--- | :---------- | -| `DB_SQLITE_VACUUM_ON_STARTUP` | `boolean` | Runs `VACUUM` operation on startup to rebuild the database. Reduces file size and optimizes indexes. This is a long running blocking operation and will increase start-up time. Default value is `false`. | +| `DB_SQLITE_VACUUM_ON_STARTUP` | `boolean` | Runs [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target="_blank" .external-link} operation on startup to rebuild the database. Reduces file size and optimizes indexes. This is a long running blocking operation and increases start-up time. Default value is `false`. | ## Deployment | Variable | Type | Description | | :------- | :--- | :---------- | -| `N8N_EDITOR_BASE_URL` | `string` | Public URL where users can access the editor. Also used for emails sent from N8N. | -| `N8N_CONFIG_FILES` | `string` | Use to provide the path to any JSON [configuration file(/hosting/configuration/#configuration-via-file). | -| `N8N_DISABLE_UI` | `boolean` | Whether the UI should be disabled. | -| `N8N_TEMPLATES_ENABLED` | `boolean` | Whether workflow templates are enabled (true) or disabled (false) | +| `N8N_EDITOR_BASE_URL` | `string` | Public URL where users can access the editor. Also used for emails sent from n8n. | +| `N8N_CONFIG_FILES` | `string` | Use to provide the path to any JSON [configuration file(/hosting/configuration/#configuration-by-file). | +| `N8N_DISABLE_UI` | `boolean` | Disable the UI (true) or not (false). | +| `N8N_TEMPLATES_ENABLED` | `boolean` | Enable workflow templates (true) or disable (false). | | `N8N_TEMPLATES_HOST` | `string` | Defaults to https://api.n8n.io. Change this if creating your own workflow template library. | -| `N8N_ENCRYPTION_KEY` | `string` | Provide a custom key used to encrypt credentials in the n8n database. By default a random key is generated on first launch. | +| `N8N_ENCRYPTION_KEY` | `string` | Provide a custom key used to encrypt credentials in the n8n database. By default n8n generates a random key on first launch. | | `N8N_USER_FOLDER` | `string` | Provide the path where n8n will store user-specific data, such as database file and encryption key. By default, `.n8n` is used. | -| `N8N_PATH` | `string` | The path n8n is deployed to. Default is `/`. | -| `N8N_HOST` | `string` | Host name where n8n can be reached. Default is `localhost`. | -| `N8N_PORT` | `number` | The HTTP port where n8n can be reached. Default is `5678`. | +| `N8N_PATH` | `string` | The path n8n deploys to. Default is `/`. | +| `N8N_HOST` | `string` | Host name n8n runs on. Default is `localhost`. | +| `N8N_PORT` | `number` | The HTTP port n8n runs on. Default is `5678`. | | `N8N_LISTEN_ADDRESS` | `string` | The IP address n8n should listen on. Default is `0.0.0.0`. | | `N8N_PROTOCOL` | `enum string`: `http`, `https` | The protocol used to reach n8n. Default is `http`. | | `N8N_SSL_KEY` | `string` | The SSL Key for HTTPS protocol. | | `N8N_SSL_CERT` | `string` | The SSL certificate for HTTPS protocol. | | `N8N_PERSONALIZATION_ENABLED` | `boolean` | Whether to ask users personalisation questions and then customise n8n accordingly. Default is `true`. | -| `N8N_VERSION_NOTIFICATIONS_ENABLED` | `boolean` | When enabled, notifications of new versions and security updates are provided. Default value is `true`. | -| `N8N_VERSION_NOTIFICATIONS_ENDPOINT` | `string` | The endpoint where version information is retrieved. By default `https://api.n8n.io/versions/` is used. | -| `N8N_VERSION_NOTIFICATIONS_INFO_URL` | `string` | The URL displayed in the New Versions panel for additional information. By default `https://docs.n8n.io/getting-started/installation/updating.html` is used. | +| `N8N_VERSION_NOTIFICATIONS_ENABLED` | `boolean` | When enabled, n8n sends notifications of new versions and security updates. Default value is `true`. | +| `N8N_VERSION_NOTIFICATIONS_ENDPOINT` | `string` | The endpoint to retrieve where version information. Default is `https://api.n8n.io/versions/`. | +| `N8N_VERSION_NOTIFICATIONS_INFO_URL` | `string` | The URL displayed in the New Versions panel for additional information. Default is `https://docs.n8n.io/getting-started/installation/updating.html`. | | `N8N_DIAGNOSTICS_ENABLED` | `boolean` | Whether to share selected, anonymous [telemetry](/reference/data-collection/) with n8n | -| `N8N_DIAGNOSTICS_CONFIG_FRONTEND` | `string` | Telemetry config for the frontend. Default is `1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io`. | -| `N8N_DIAGNOSTICS_CONFIG_BACKEND` | `string` | Telemetry config for the frontend. Default is `1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch`. | +| `N8N_DIAGNOSTICS_CONFIG_FRONTEND` | `string` | Telemetry configuration for the frontend. Default is `1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io`. | +| `N8N_DIAGNOSTICS_CONFIG_BACKEND` | `string` | Telemetry configuration for the frontend. Default is `1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch`. | | `N8N_AVAILABLE_BINARY_DATA_MODES` | `string` | A comma separated list of available binary data modes. Default is `filesystem`. | -| `N8N_BINARY_DATA_STORAGE_PATH` | `string` | The path where binary data is stored. Defaults to `binaryData` under the `N8N_USER_FOLDER`. | +| `N8N_BINARY_DATA_STORAGE_PATH` | `string` | The path where n8n stores binary data. Defaults to `binaryData` under the `N8N_USER_FOLDER`. | | `N8N_BINARY_DATA_TTL` | `number` | Time to live (in minutes) for binary data of unsaved executions. Default is `60`. | -| `N8N_DEFAULT_BINARY_DATA_MODE` | `string` | The default binary data mode. Default value is `default` and keeps binary data in memory. Set to `filesystem` in order to use the filesystem. | +| `N8N_DEFAULT_BINARY_DATA_MODE` | `string` | The default binary data mode. Default value is `default` and keeps binary data in memory. Set to `filesystem` to use the filesystem. | | `N8N_PERSISTED_BINARY_DATA_TTL` | `number` | Time to live (in minutes) for persisted data. Default is `1440`. | -| `VUE_APP_URL_BASE_API` | `string` | Used when building the `n8n-editor-ui` package manually to indicate how the frontend can reach the backend API. | +| `VUE_APP_URL_BASE_API` | `string` | Used when building the `n8n-editor-ui` package manually to set how the frontend can reach the backend API. | ## User management and SMTP -| Variable | Type | Description | -| :------- | :--- | :---------- | -| `N8N_USER_MANAGEMENT_DISABLED` | Boolean | Defaults to user management enabled (false). Set to `true` to disable the [user management](/hosting/user-management/) feature. Note that n8n ignores this environment variable if you have already set up an owner account. | -| `N8N_EMAIL_MODE` | string | smtp | Required | +| Variable | Type | Description | Required? | +| :------- | :--- | :---------- | --------- | +| `N8N_USER_MANAGEMENT_DISABLED` | Boolean | Defaults to user management enabled (false). Set to `true` to disable the [user management](/hosting/user-management/) feature. Note that n8n ignores this environment variable if you have already set up an owner account. | Optional | +| `N8N_EMAIL_MODE` | string | `smtp` | Required | | `N8N_SMTP_HOST` | string | _your_SMTP_server_name_ | Required | | `N8N_SMTP_PORT` | number | _your_SMTP_server_port_ Default is `465`. | Optional | | `N8N_SMTP_USER` | string | _your_SMTP_username_ | Required | | `N8N_SMTP_PASS` | string | _your_SMTP_password_ | Required | -| `N8N_SMTP_SENDER` | string | You can select the sender name from the sender addresses. Example: `N8N _contact@n8n.com_'| Required | -| `N8N_SMTP_SSL` | boolean | Whether to use SSL for SMTP (true) or not (false). Defaults to `true`. | Optional | +| `N8N_SMTP_SENDER` | string | You can select the sender name from the sender addresses. Example: `N8N _contact@n8n.com_`| Required | +| `N8N_SMTP_SSL` | Boolean | Whether to use SSL for SMTP (true) or not (false). Defaults to `true`. | Optional | | `N8N_UM_EMAIL_TEMPLATES_INVITE` | string | Full path to your HTML email template. This overrides the default template for invite emails. | Optional | | `N8N_UM_EMAIL_TEMPLATES_PWRESET` | string | Full path to your HTML email template. This overrides the default template for password reset emails. | Optional | +| `N8N_USER_MANAGEMENT_JWT_SECRET` | String | Set a specific JWT secret. By default, n8n generates one on start. | Optional | ## Endpoints @@ -106,49 +107,49 @@ Enabling overwrites for credentials allows you to set default values for credent | :------- | :--- | :---------- | | `N8N_PAYLOAD_SIZE_MAX` | `number` | The maximum payload size in MB. Default value is `16`. | | `N8N_METRICS` | `boolean` | Whether to enable the metrics endpoint. Default value is `false`. | -| `N8N_METRICS_PREFIX` | `string` | Optional prefix to be used for metrics names. Default value is `n8n_`. | +| `N8N_METRICS_PREFIX` | `string` | Optional prefix for metrics names. Default value is `n8n_`. | | `N8N_ENDPOINT_REST` | `string` | The path used for REST endpoint. Default value is `rest`. | | `N8N_ENDPOINT_WEBHOOK` | `string` | The path used for webhook endpoint. Default value is `webhook`. | | `N8N_ENDPOINT_WEBHOOK_TEST` | `string` | The path used for test-webhook endpoint. Default value is `webhook-test`. | | `N8N_ENDPOINT_WEBHOOK_WAIT` | `string` | The path used for waiting-webhook endpoint. Default value is `webhook-waiting`. | | `WEBHOOK_URL` | `string` | Used to manually provide the Webhook URL when running n8n behind a reverse proxy. See [here](/hosting/configuration/#webhook-url) for more details. | -| `N8N_DISABLE_PRODUCTION_MAIN_PROCESS` | `boolean` | Disable production webhooks from main process. This helps ensures no HTTP traffic load to main process when using webhook-specific processes. Default value is `false`. | -| `N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN` | `boolean` | Deregister webhooks on external services only when workflows are deactivated. Default value is `false`. | +| `N8N_DISABLE_PRODUCTION_MAIN_PROCESS` | `boolean` | Disable production webhooks from main process. This helps ensure no HTTP traffic load to main process when using webhook-specific processes. Default value is `false`. | +| `N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN` | `boolean` | Only de-register webhooks on external services when workflows are deactivated. Default value is `false`. | ## External hooks | Variable | Type | Description | | :------- | :--- | :---------- | -| `EXTERNAL_HOOK_FILES` | `string` | Files containing external hooks. Multiple files can be provided separated by colon ("`:`"). | +| `EXTERNAL_HOOK_FILES` | `string` | Files containing external hooks. Provide multiple files as a colon-separated list ("`:`"). | ## Executions | Variable | Type | Description | | :------- | :--- | :---------- | -| `EXECUTIONS_PROCESS` | `enum string`: `main`, `own` | Whether processes are executed in their own process or the main process. By default it is set to `own`.

See [here](/hosting/scaling/execution-modes-processes/) for more details. | -| `EXECUTIONS_MODE` | `enum string`: `regular`, `queue` | Whether processes should run directly or via queue. By default it is set to `regular`.

See [here](/hosting/scaling/execution-modes-processes/) for more details. | -| `EXECUTIONS_TIMEOUT` | `number` | The max run time (in seconds) before stopping a workflow execution. Set to `-1` to disable. Default value is `-1`. | -| `EXECUTIONS_TIMEOUT_MAX` | `number` | The max execution time (in seconds) that can be set for a workflow individually. Default value is `3600`. | -| `EXECUTIONS_DATA_SAVE_ON_ERROR` | `enum string`: `all`, `none` | Whether execution data is saved on error. Default value is `all`. | -| `EXECUTIONS_DATA_SAVE_ON_SUCCESS` | `enum string`: `all`, `none` | Whether execution data is saved on success. Default value is `all`. | -| `EXECUTIONS_DATA_SAVE_ON_PROGRESS` | `boolean` | Whether to save progress for each node executed. Default value is `false`. | +| `EXECUTIONS_PROCESS` | `enum string`: `main`, `own` | Whether n8n executions run in their own process or the main process. Default is `own`.

See [here](/hosting/scaling/execution-modes-processes/) for more details. | +| `EXECUTIONS_MODE` | `enum string`: `regular`, `queue` | Whether executions should run directly or using queue. Default is `regular`.

Refer to [Execution modes and processes](/hosting/scaling/execution-modes-processes/) for more details. | +| `EXECUTIONS_TIMEOUT` | `number` | The maximum run time (in seconds) before stopping a workflow execution. Set to `-1` to disable. Default value is `-1`. | +| `EXECUTIONS_TIMEOUT_MAX` | `number` | The maximum execution time (in seconds) for an individual workflow. Default value is `3600`. | +| `EXECUTIONS_DATA_SAVE_ON_ERROR` | `enum string`: `all`, `none` | Whether n8n saves execution data on error. Default value is `all`. | +| `EXECUTIONS_DATA_SAVE_ON_SUCCESS` | `enum string`: `all`, `none` | Whether n8n saves execution data on success. Default value is `all`. | +| `EXECUTIONS_DATA_SAVE_ON_PROGRESS` | `boolean` | Whether to save progress for each node executed (true) or not (false). Default value is `false`. | | `EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS` | `boolean` | Whether to save data of executions when started manually. Default value is `false`. | | `EXECUTIONS_DATA_PRUNE` | `boolean` | Whether to delete data of past executions on a rolling basis. Default value is `false`. | -| `EXECUTIONS_DATA_MAX_AGE` | `number` | The execution age (in hours) before it is deleted. Default value is `336`. | -| `EXECUTIONS_DATA_PRUNE_TIMEOUT` | `number` | The timeout (in seconds) after execution data has been pruned. Default value is `3600`. | +| `EXECUTIONS_DATA_MAX_AGE` | `number` | The execution age (in hours) before it's deleted. Default value is `336`. | +| `EXECUTIONS_DATA_PRUNE_TIMEOUT` | `number` | The timeout (in seconds) after n8n prunes execution data. Default value is `3600`. | ## Logs | Variable | Type | Description | | :------- | :--- | :---------- | | `N8N_LOG_LEVEL` | `enum string`: `info`, `warn`, `error`, `verbose`, `debug` | Log output level. Default is `info`. | -| `N8N_LOG_OUTPUT` | `enum string`: `console`, `file` | Where to output logs. Multiple values can be provided separated by a comma. Default is `console`. | +| `N8N_LOG_OUTPUT` | `enum string`: `console`, `file` | Where to output logs. Provide multiple values as a comma-seperated list. Default is `console`. | | `N8N_LOG_FILE_COUNT_MAX` | `number` | Max number of log files to keep. Default is `100`. | | `N8N_LOG_FILE_SIZE_MAX` | `number` | Max size of each log file in MB. Default is `16`. | -| `N8N_LOG_FILE_LOCATION` | `string` | Log file location. Only used if log output is set to `file`. | +| `N8N_LOG_FILE_LOCATION` | `string` | Log file location. Requires log output set to `file`. | | `DB_LOGGING_ENABLED` | `boolean` | Whether to enable database-specific logging. Default is `false`. | | `DB_LOGGING_OPTIONS` | `string` | Database log output level. Possible values: `query`, `error`, `schema`, `warn`, `info`, `log`. To enable all logging, specify `all`. | -| `DB_LOGGING_MAX_EXECUTION_TIME` | `number` | Max execution time (in milliseconds) before a warning is logged. Default is `1000`. Set to `0` to disable long running query warning. | +| `DB_LOGGING_MAX_EXECUTION_TIME` | `number` | Maximum execution time (in milliseconds) before n8n logs a warning. Default is `1000`. Set to `0` to disable long running query warning. | ## Nodes @@ -156,8 +157,8 @@ Enabling overwrites for credentials allows you to set default values for credent | :------- | :--- | :---------- | | `NODES_INCLUDE` | `string` | Specify which nodes to load. | | `NODES_EXCLUDE` | `string` | Specify which nodes not to load. | -| `NODE_FUNCTION_ALLOW_BUILTIN` | `string` | Specify which built-in modules may be imported in Function nodes. Use `*` to allow all. By default importing modules is disabled. | -| `NODE_FUNCTION_ALLOW_EXTERNAL` | `string` | Specify which external modules (from `n8n/node_modules`) may be imported in Function nodes. By default importing modules is disabled. | +| `NODE_FUNCTION_ALLOW_BUILTIN` | `string` | Permit users to import specific built-in modules in Function nodes. Use `*` to allow all. n8n disables importing modules by default. | +| `NODE_FUNCTION_ALLOW_EXTERNAL` | `string` | Permit users to import specific external modules (from `n8n/node_modules`) in Function nodes. n8n disables importing modules by default. | | `NODES_ERROR_TRIGGER_TYPE` | `string` | Specify which Node Type to use as Error Trigger. Default value is `n8n-nodes-base.errorTrigger`. | | `N8N_CUSTOM_EXTENSIONS` | `string` | Specify the path to additional directories containing your custom nodes. | @@ -165,24 +166,26 @@ Enabling overwrites for credentials allows you to set default values for credent | Variable | Type | Description | | :------- | :--- | :---------- | -| `QUEUE_BULL_PREFIX` | `string` | Prefix to be used for all queue keys. | +| `QUEUE_BULL_PREFIX` | `string` | Prefix to use for all queue keys. | | `QUEUE_BULL_REDIS_DB` | `number` | The Redis database used. Default value is `0`. | | `QUEUE_BULL_REDIS_HOST` | `string` | The Redis host. Default value is `localhost`. | | `QUEUE_BULL_REDIS_PORT` | `number` | The Redis port used. Default value is `6379`. | | `QUEUE_BULL_REDIS_PASSWORD` | `string` | The Redis password. | | `QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD` | `number` | The Redis timeout threshold (in seconds). Default value is `10000`. | -| `QUEUE_RECOVERY_INTERVAL` | `number` | Internal (in seconds) for active polling to the queue to recover from Redis crashes. `0` is disabled. May increase Redis traffic significantly. Default value is `60`. | +| `QUEUE_RECOVERY_INTERVAL` | `number` | Interval (in seconds) for active polling to the queue to recover from Redis crashes. `0` disables recovery. May increase Redis traffic significantly. Default value is `60`. | +| `QUEUE_HEALTH_CHECK_ACTIVE` | Boolean | Whether to enable health checks (true) or disable (false). Defaults to false. | +| `QUEUE_HEALTH_CHECK_PORT` | number | The port to serve health checks on. | ## Security | Variable | Type | Description | | :------- | :--- | :---------- | -| `N8N_AUTH_EXCLUDE_ENDPOINTS` | `string` | Additional endpoints to exclude auth checks. Multiple endpoints can be provided separated by a colon ("`:`"). The endpoints should **not** start with a forward slash ("`/`"). | -| `N8N_BASIC_AUTH_ACTIVE` | `boolean` | Whether basic auth should be activated for editor and REST-API access. Default value is `false`. | +| `N8N_AUTH_EXCLUDE_ENDPOINTS` | `string` | Exclude endpoints from authentication checks. Provide multiple endpoints as a colon-seperated list ("`:`"). The endpoints must not start with a forward slash ("`/`"). | +| `N8N_BASIC_AUTH_ACTIVE` | `boolean` | Whether n8n should activate basic auth for editor and REST-API access. Default value is `false`. | | `N8N_BASIC_AUTH_USER`/`_FILE` | `string` | The name of the n8n user for basic authentication. | | `N8N_BASIC_AUTH_PASSWORD`/`_FILE` | `string` | The password of the n8n user for basic authentication. | -| `N8N_BASIC_AUTH_HASH`/`_FILE` | `boolean` | Whether the basic authentication password is hashed. Default value is `false`. | -| `N8N_JWT_AUTH_ACTIVE` | `boolean` | Whether JWT authentication should be activated for editor and REST-API access. Default value is `false`. | +| `N8N_BASIC_AUTH_HASH`/`_FILE` | `boolean` | Whether to hash the basic authentication password. Default value is `false`. | +| `N8N_JWT_AUTH_ACTIVE` | `boolean` | Whether n8n should activate JWT authentication for editor and REST-API access. Default value is `false`. | | `N8N_JWT_AUTH_HEADER`/`_FILE` | `string` | The request header containing a signed JWT. | | `N8N_JWT_AUTH_HEADER_VALUE_PREFIX`/`_FILE` | `string` | Optional. The request header value prefix to strip. | | `N8N_JWKS_URI`/`_FILE` | `string` | The URI to fetch JWK Set for JWT authentication. | @@ -191,14 +194,17 @@ Enabling overwrites for credentials allows you to set default values for credent | `N8N_JWT_ALLOWED_TENANT`/`_FILE` | `string` | Optional. The allowed JWT tenant. | | `N8N_JWT_ALLOWED_TENANT_KEY`/`_FILE` | `string` | Optional. The JWT tenant key name to inspect within the JWT namespace. | -## Timezone +## Timezone and localization | Variable | Type | Description | | :------- | :--- | :---------- | -| `GENERIC_TIMEZONE` | `*` | The timezone to use. Important for schedule nodes (i.e. Cron). Default value is `America/New_York`. | +| `GENERIC_TIMEZONE` | `*` | The n8n instance timezone. Important for schedule nodes (such as Cron). Default value is `America/New_York`. | +| `N8N_DEFAULT_LOCALE` | String | A locale identifier, compatible with the [Accept-Language header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language){:target="_blank" .external-link}. n8n doesn't support regional identifiers, such as `de-AT`. Default is `en`. When running in a locale other than the default, n8n displays UI strings in the selected locale, and falls back to `en` for any untranslated strings. | ## Workflows | Variable | Type | Description | | :------- | :--- | :---------- | | `WORKFLOWS_DEFAULT_NAME` | `string` | The default name used for new workflows. Default value is `My workflow`. | +| `N8N_ONBOARDING_FLOW_DISABLED` | `boolean` | Whether to show onboarding tips when creating a new workflow (true) or not (false). Default value is `false`. | +| `N8N_WORKFLOW_TAGS_DISABLED` | Boolean | Whether to disable workflow tags (true) or enable tags (false). Default is `false`. | diff --git a/mkdocs.yml b/mkdocs.yml index 1eb5ff8f0..3a1e7ad29 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -168,9 +168,9 @@ nav: - npm: hosting/installation/npm.md - Docker: hosting/installation/docker.md - Cloud: hosting/installation/cloud.md - - Configuration: hosting/configuration.md - - User management: hosting/user-management.md + - Configuration: hosting/configuration.md - Environment variables: hosting/environment-variables.md + - User management: hosting/user-management.md - Security: hosting/security.md - Logging: hosting/logging.md - Server setups: diff --git a/styles/Vocab/default/accept.txt b/styles/Vocab/default/accept.txt index deca965f1..ebd3e7eb6 100644 --- a/styles/Vocab/default/accept.txt +++ b/styles/Vocab/default/accept.txt @@ -1 +1,6 @@ -n8n \ No newline at end of file +backend +Cron +n8n +namespace +onboarding +URL \ No newline at end of file diff --git a/styles/n8n-styles/eg.yml b/styles/n8n-styles/eg.yml new file mode 100644 index 000000000..8030b2ab3 --- /dev/null +++ b/styles/n8n-styles/eg.yml @@ -0,0 +1,8 @@ +extends: existence +message: Consider replacing '%s' with 'for example' +level: warning +code: false +ignorecase: true +tokens: + - '\be\.g\b' + - '\be\.g.\b' \ No newline at end of file diff --git a/styles/n8n-styles/etc.yml b/styles/n8n-styles/etc.yml new file mode 100644 index 000000000..841664249 --- /dev/null +++ b/styles/n8n-styles/etc.yml @@ -0,0 +1,7 @@ +extends: existence +message: Consider replacing '%s' with 'and so on' +level: warning +code: false +ignorecase: true +tokens: + - '\betc\.\b' \ No newline at end of file diff --git a/styles/n8n-styles/ie.yml b/styles/n8n-styles/ie.yml new file mode 100644 index 000000000..3dbe85a30 --- /dev/null +++ b/styles/n8n-styles/ie.yml @@ -0,0 +1,8 @@ +extends: existence +message: Consider replacing '%s' with 'in other words' +level: warning +code: false +ignorecase: true +tokens: + - '\bi\.e\b' + - '\bi\.e.\b' \ No newline at end of file diff --git a/styles/n8n-styles/via.yml b/styles/n8n-styles/via.yml new file mode 100644 index 000000000..dc2df23a5 --- /dev/null +++ b/styles/n8n-styles/via.yml @@ -0,0 +1,7 @@ +extends: existence +message: Consider replacing '%s' with 'using' +level: warning +code: false +ignorecase: true +tokens: + - '\bvia\b' \ No newline at end of file