Environment Variables#
File-based configuration
You can provide a configuration 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 populated. The user can't see or change these credentials. The format is { CREDENTIAL_NAME: { PARAMTER: VALUE }}
.
Variable | Type | Default | Description |
---|---|---|---|
CREDENTIALS_OVERWRITE_DATA / _FILE |
* | - | Overwrites for credentials. |
CREDENTIALS_OVERWRITE_ENDPOINT |
String | - | The API endpoint to fetch credentials. |
CREDENTIALS_DEFAULT_NAME |
String | My credentials |
The default name for credentials. |
Database#
Variable | Type | Default | Description |
---|---|---|---|
DB_TYPE / _FILE |
Enum string:sqlite , mariadb , mysqldb , postgresdb |
sqlite |
The database to use. |
DB_TABLE_PREFIX |
* | - | Prefix to use for table names. |
MySQL#
Variable | Type | Default | Description |
---|---|---|---|
DB_MYSQLDB_DATABASE / _FILE |
String | n8n |
The name of the MySQL database. Default value is n8n . |
DB_MYSQLDB_HOST / _FILE |
String | localhost |
The MySQL host. Default value is localhost . |
DB_MYSQLDB_PORT / _FILE |
Number | 3306 |
The MySQL port. Default value is 3306 . |
DB_MYSQLDB_USER / _FILE |
String | root |
The MySQL user. Default value is root . |
DB_MYSQLDB_PASSWORD / _FILE |
String | - | The MySQL password. |
PostgreSQL#
Variable | Type | Default | Description |
---|---|---|---|
DB_POSTGRESDB_DATABASE / _FILE |
String | n8n |
The name of the PostgreSQL database. Default value is n8n . |
DB_POSTGRESDB_HOST / _FILE |
String | localhost |
The PostgreSQL host. Default value is localhost . |
DB_POSTGRESDB_PORT / _FILE |
Number | 5432 |
The PostgreSQL port. Default value is 5432 . |
DB_POSTGRESDB_USER / _FILE |
String | root |
The PostgreSQL user. Default value is root . |
DB_POSTGRESDB_PASSWORD / _FILE |
String | - | The PostgreSQL password. |
DB_POSTGRESDB_SCHEMA / _FILE |
String | public |
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 | true |
If n8n should reject unauthorized SSL connections (true) or not (false). |
SQLite#
Variable | Type | Default | Description |
---|---|---|---|
DB_SQLITE_VACUUM_ON_STARTUP |
Boolean | false |
Runs VACUUM 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. |
Deployment#
Variable | Type | Default | 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. |
N8N_DISABLE_UI |
Boolean | false |
Disable the UI (true) or not (false). |
N8N_TEMPLATES_ENABLED |
Boolean | true |
Enable workflow templates (true) or disable (false). |
N8N_TEMPLATES_HOST |
String | https://api.n8n.io |
Change this if creating your own workflow template library. |
N8N_ENCRYPTION_KEY |
String | Random key generated by n8n | 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 | user-folder |
Provide the path where n8n will create the .n8n folder. This directory stores user-specific data, such as database file and encryption key. |
N8N_PATH |
String | / |
The path n8n deploys to. |
N8N_HOST |
String | localhost |
Host name n8n runs on. |
N8N_PORT |
Number | 5678 |
The HTTP port n8n runs on. |
N8N_LISTEN_ADDRESS |
String | 0.0.0.0 |
The IP address n8n should listen on. |
N8N_PROTOCOL |
Enum string: http , https |
http |
The protocol used to reach n8n. |
N8N_SSL_KEY |
String | - | The SSL key for HTTPS protocol. |
N8N_SSL_CERT |
String | - | The SSL certificate for HTTPS protocol. |
N8N_PERSONALIZATION_ENABLED |
Boolean | true |
Whether to ask users personalisation questions and then customise n8n accordingly. |
N8N_VERSION_NOTIFICATIONS_ENABLED |
Boolean | true |
When enabled, n8n sends notifications of new versions and security updates. |
N8N_VERSION_NOTIFICATIONS_ENDPOINT |
String | https://api.n8n.io/versions/ |
The endpoint to retrieve where version information. |
N8N_VERSION_NOTIFICATIONS_INFO_URL |
String | https://docs.n8n.io/getting-started/installation/updating.html |
The URL displayed in the New Versions panel for additional information. |
N8N_DIAGNOSTICS_ENABLED |
Boolean | true |
Whether to share selected, anonymous telemetry with n8n |
N8N_DIAGNOSTICS_CONFIG_FRONTEND |
String | 1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io |
Telemetry configuration for the frontend. |
N8N_DIAGNOSTICS_CONFIG_BACKEND |
String | 1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch |
Telemetry configuration for the backend. |
N8N_AVAILABLE_BINARY_DATA_MODES |
String | filesystem |
A comma separated list of available binary data modes. |
N8N_BINARY_DATA_STORAGE_PATH |
String | N8N_USE_FOLDER/binaryData |
The path where n8n stores binary data. |
N8N_BINARY_DATA_TTL |
Number | 60 |
Time to live (in minutes) for binary data of unsaved executions. |
N8N_DEFAULT_BINARY_DATA_MODE |
String | default |
The default binary data mode. default keeps binary data in memory. Set to filesystem to use the filesystem. |
N8N_PERSISTED_BINARY_DATA_TTL |
Number | 1440 |
Time to live (in minutes) for persisted data. |
VUE_APP_URL_BASE_API |
String | http://localhost:5678/ |
Used when building the n8n-editor-ui package manually to set how the frontend can reach the backend API. |
N8N_HIRING_BANNER_ENABLED |
Boolean | true |
Whether to show the n8n hiring banner in the console (true) or not (false). |
User management and SMTP#
Refer to User management for more information on setting up user management and emails.
Variable | Type | Default | Description |
---|---|---|---|
N8N_USER_MANAGEMENT_DISABLED |
Boolean | false |
Set to true to disable the user management feature. Note that n8n ignores this environment variable if you have already set up an owner account. |
N8N_EMAIL_MODE |
String | smtp |
Enable emails. |
N8N_SMTP_HOST |
String | - | your_SMTP_server_name |
N8N_SMTP_PORT |
Number | - | your_SMTP_server_port |
N8N_SMTP_USER |
String | - | your_SMTP_username |
N8N_SMTP_PASS |
String | - | your_SMTP_password |
N8N_SMTP_SENDER |
String | - | You can select the sender name from the sender addresses. Example: N8N _contact@n8n.com_ |
N8N_SMTP_SSL |
Boolean | true |
Whether to use SSL for SMTP (true) or not (false). |
N8N_UM_EMAIL_TEMPLATES_INVITE |
String | - | Full path to your HTML email template. This overrides the default template for invite emails. |
N8N_UM_EMAIL_TEMPLATES_PWRESET |
String | - | Full path to your HTML email template. This overrides the default template for password reset emails. |
N8N_USER_MANAGEMENT_JWT_SECRET |
String | - | Set a specific JWT secret. By default, n8n generates one on start. |
Endpoints#
Variable | Type | Default | Description |
---|---|---|---|
N8N_PAYLOAD_SIZE_MAX |
Number | 16 |
The maximum payload size in MB. |
N8N_METRICS |
Boolean | false |
Whether to enable the metrics endpoint. |
N8N_METRICS_PREFIX |
String | n8n_ |
Optional prefix for metrics names. |
N8N_ENDPOINT_REST |
String | rest |
The path used for REST endpoint. |
N8N_ENDPOINT_WEBHOOK |
String | webhook |
The path used for webhook endpoint. |
N8N_ENDPOINT_WEBHOOK_TEST |
String | webhook-test |
The path used for test-webhook endpoint. |
N8N_ENDPOINT_WEBHOOK_WAIT |
String | webhook-waiting |
The path used for waiting-webhook endpoint. |
WEBHOOK_URL |
String | - | Used to manually provide the Webhook URL when running n8n behind a reverse proxy. See here for more details. |
N8N_DISABLE_PRODUCTION_MAIN_PROCESS |
Boolean | false |
Disable production webhooks from main process. This helps ensure no HTTP traffic load to main process when using webhook-specific processes. |
N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN |
Boolean | false |
Only de-register webhooks on external services when workflows are deactivated. |
External hooks#
Variable | Type | Description |
---|---|---|
EXTERNAL_HOOK_FILES |
String | Files containing external hooks. Provide multiple files as a colon-separated list (": "). |
Executions#
Variable | Type | Default | Description |
---|---|---|---|
EXECUTIONS_PROCESS |
Enum string: main , own |
own |
Whether n8n executions run in their own process or the main process. Refer to Execution modes and processes for more details. |
EXECUTIONS_MODE |
Enum string: regular , queue |
regular |
Whether executions should run directly or using queue. Refer to Execution modes and processes for more details. |
EXECUTIONS_TIMEOUT |
Number | -1 |
The maximum run time (in seconds) before stopping a workflow execution. Set to -1 to disable. |
EXECUTIONS_TIMEOUT_MAX |
Number | 3600 |
The maximum execution time (in seconds) for an individual workflow. |
EXECUTIONS_DATA_SAVE_ON_ERROR |
Enum string: all , none |
all |
Whether n8n saves execution data on error. |
EXECUTIONS_DATA_SAVE_ON_SUCCESS |
Enum string: all , none |
all |
Whether n8n saves execution data on success. |
EXECUTIONS_DATA_SAVE_ON_PROGRESS |
Boolean | false |
Whether to save progress for each node executed (true) or not (false). |
EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS |
Boolean | false |
Whether to save data of executions when started manually. |
EXECUTIONS_DATA_PRUNE |
Boolean | false |
Whether to delete data of past executions on a rolling basis. |
EXECUTIONS_DATA_MAX_AGE |
Number | 336 |
The execution age (in hours) before it's deleted. |
EXECUTIONS_DATA_PRUNE_TIMEOUT |
Number | 3600 |
The timeout (in seconds) after n8n prunes execution data. |
Logs#
Variable | Type | Default | Description |
---|---|---|---|
N8N_LOG_LEVEL |
Enum string: info , warn , error , verbose , debug |
info |
Log output level. |
N8N_LOG_OUTPUT |
Enum string: console , file |
console |
Where to output logs. Provide multiple values as a comma-seperated list. |
N8N_LOG_FILE_COUNT_MAX |
Number | 100 |
Max number of log files to keep. |
N8N_LOG_FILE_SIZE_MAX |
Number | 16 |
Max size of each log file in MB. |
N8N_LOG_FILE_LOCATION |
String | file |
Log file location. Requires N8N_LOG_OUTPUT set to file . |
DB_LOGGING_ENABLED |
Boolean | false |
Whether to enable database-specific logging. |
DB_LOGGING_OPTIONS |
Enum string: query , error , schema , warn , info , log |
error |
Database log output level. To enable all logging, specify all . |
DB_LOGGING_MAX_EXECUTION_TIME |
Number | 1000 |
Maximum execution time (in milliseconds) before n8n logs a warning. Set to 0 to disable long running query warning. |
Nodes#
Variable | Type | Default | Description |
---|---|---|---|
NODES_INCLUDE |
String | - | Specify which nodes to load. |
NODES_EXCLUDE |
String | - | Specify which nodes not to load. |
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 | n8n-nodes-base.errorTrigger |
Specify which Node Type to use as Error Trigger. |
N8N_CUSTOM_EXTENSIONS |
String | - | Specify the path to additional directories containing your custom nodes. |
Queues#
Variable | Type | Default | Description |
---|---|---|---|
QUEUE_BULL_PREFIX |
String | - | Prefix to use for all queue keys. |
QUEUE_BULL_REDIS_DB |
Number | 0 |
The Redis database used. |
QUEUE_BULL_REDIS_HOST |
String | localhost |
The Redis host. |
QUEUE_BULL_REDIS_PORT |
Number | 6379 |
The Redis port used. |
QUEUE_BULL_REDIS_PASSWORD |
String | - | The Redis password. |
QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD |
Number | 10000 |
The Redis timeout threshold (in seconds). |
QUEUE_RECOVERY_INTERVAL |
Number | 60 |
Interval (in seconds) for active polling to the queue to recover from Redis crashes. 0 disables recovery. May increase Redis traffic significantly. |
QUEUE_HEALTH_CHECK_ACTIVE |
Boolean | false |
Whether to enable health checks (true) or disable (false). |
QUEUE_HEALTH_CHECK_PORT |
Number | - | The port to serve health checks on. |
Security#
Variable | Type | Default | Description |
---|---|---|---|
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 | false |
Whether n8n should activate basic auth for editor and REST-API access. |
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 | false |
Whether to hash the basic authentication password. |
N8N_BLOCK_ENV_ACCESS_IN_NODE |
Boolean | false |
Whether to allow users to access environment variables in expressions and the function node (false) or not (true). |
N8N_JWT_AUTH_ACTIVE |
Boolean | false |
Whether n8n should activate JWT authentication for editor and REST-API access. |
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. |
N8N_JWT_ISSUER / _FILE |
String | - | Optional. The expected JWT issuer. |
N8N_JWT_NAMESPACE / _FILE |
String | - | Optional. The expected JWT namespace. |
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 and localization#
Variable | Type | Default | Description |
---|---|---|---|
GENERIC_TIMEZONE |
* | America/New_York |
The n8n instance timezone. Important for schedule nodes (such as Cron). |
N8N_DEFAULT_LOCALE |
String | en |
A locale identifier, compatible with the Accept-Language header. n8n doesn't support regional identifiers, such as de-AT . 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 | Default | Description |
---|---|---|---|
WORKFLOWS_DEFAULT_NAME |
String | My workflow |
The default name used for new workflows. |
N8N_ONBOARDING_FLOW_DISABLED |
Boolean | false |
Whether to show onboarding tips when creating a new workflow (true) or not (false). |
N8N_WORKFLOW_TAGS_DISABLED |
Boolean | false |
Whether to disable workflow tags (true) or enable tags (false). |