Skip to content

配置#

您可以使用环境变量更改 n8n 的设置。有关可用配置的完整列表,请参阅环境变量

通过命令行设置环境变量#

npm#

对于 npm,在终端中使用 export 命令设置所需的环境变量,如下所示:

1
export <variable>=<value>

Docker#

在 Docker 中,您可以从命令行使用 -e 标志:

1
2
3
4
5
docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e N8N_TEMPLATES_ENABLED="false" \
 docker.n8n.io/n8nio/n8n

使用文件设置环境变量#

您也可以使用配置文件配置 n8n。

在配置文件中只定义需要与默认值不同的值。您可以使用多个文件。例如,您可以有一个包含通用基本设置的文件,以及包含不同环境特定值的文件。

npm#

使用环境变量 N8N_CONFIG_FILES 设置 JSON 配置文件的路径:

1
2
3
4
5
6
7
8
# Bash - 单个文件
export N8N_CONFIG_FILES=/<path-to-config>/my-config.json
# Bash - 多个文件用逗号分隔
export N8N_CONFIG_FILES=/<path-to-config>/my-config.json,/<path-to-config>/production.json

# PowerShell - 单个文件,为当前用户持久化
# 注意在 Unix 系统上设置范围(Process、User、Machine)没有效果
[Environment]::SetEnvironmentVariable('N8N_CONFIG_FILES', '<path-to-config>\config.json', 'User')

示例文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
 "executions": {
  "saveDataOnSuccess": "none"
 },
 "generic": {
  "timezone": "Europe/Berlin"
 },
 "nodes": {
  "exclude": "[\"n8n-nodes-base.executeCommand\",\"n8n-nodes-base.writeBinaryFile\"]"
 }
}

格式化为 JSON

您不能总是从环境变量参考中得出正确的 JSON。例如,要将 N8N_METRICS 设置为 true,您需要这样做:

1
2
3
4
5
6
7
{
	"endpoints": {
		"metrics": {
			"enable": true
		}
	}
}

有关预期设置的完整详细信息,请参阅源代码中的 Schema 文件

Docker#

在 Docker 中,您可以在 docker-compose.yaml 文件的 n8n: environment: 元素中设置环境变量。

例如:

1
2
3
n8n:
    environment:
      - N8N_TEMPLATES_ENABLED=false

将敏感数据保存在单独的文件中#

您可以在单个环境变量后附加 _FILE 以在单独的文件中提供其配置,使您能够避免使用环境变量传递敏感详细信息。n8n 从具有给定名称的文件中加载数据,从而可以从 Docker-SecretsKubernetes-Secrets 加载数据。

有关每个变量的详细信息,请参阅环境变量

虽然大多数环境变量都可以使用 _FILE 后缀,但对于敏感数据(如凭据和数据库配置)更有益。以下是一些示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
CREDENTIALS_OVERWRITE_DATA_FILE=/path/to/credentials_data
DB_TYPE_FILE=/path/to/db_type
DB_POSTGRESDB_DATABASE_FILE=/path/to/database_name
DB_POSTGRESDB_HOST_FILE=/path/to/database_host
DB_POSTGRESDB_PORT_FILE=/path/to/database_port
DB_POSTGRESDB_USER_FILE=/path/to/database_user
DB_POSTGRESDB_PASSWORD_FILE=/path/to/database_password
DB_POSTGRESDB_SCHEMA_FILE=/path/to/database_schema
DB_POSTGRESDB_SSL_CA_FILE=/path/to/ssl_ca
DB_POSTGRESDB_SSL_CERT_FILE=/path/to/ssl_cert
DB_POSTGRESDB_SSL_KEY_FILE=/path/to/ssl_key
DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED_FILE=/path/to/ssl_reject_unauth