前言
Steam.Cash 导航站将使用 n8n 配置信息收集工作流。
n8n 是一个图形化的低代码自动化流程平台,在 AI 出现之前它最初的用途是自动化你的一些日常工作流。
方案概述
- 安装 Docker 环境
- 从官方仓库获取
docker-compose.yaml文件 - 配置环境变量
- 启动容器并配置认证信息
- 测试工作流运行正常
操作步骤
一、安装 Docker 环境
参考:Ubuntu 20.04 从官方源安装最新的 Docker
二、从官方仓库获取 docker-compose.yaml 文件
官方仓库:n8n-io/n8n-hosting
在服务器上下载:
git clone https://github.com/n8n-io/n8n-hosting.git
我这里选择了 withPostgres 模式进行安装:
# 拷贝到当前的 n8n 目录中
cp ./n8n-hosting/docker-compose/withPostgres/* ./n8n/
三、编辑环境变量
cd n8n
vi .env
只要编辑数据库连接信息即可:
POSTGRES_USER=postgres
POSTGRES_PASSWORD=changeYourPassword
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=n8n
POSTGRES_NON_ROOT_PASSWORD=changeYourPassword
四、启动容器并配置认证信息
在 n8n/ 目录中执行:
docker-compose up -d

端口是 5678,不过访问页面 http://IP:5678 的话会报错,因为还没有启用 SSL:

错误信息:
Your n8n server is configured to use a secure cookie, however you are either visiting this via an insecure URL, or using Safari.
To fix this, please consider the following options: Setup TLS/HTTPS (recommended), or If you are running this locally, and not using Safari, try using localhost instead If you prefer to disable this security feature (not recommended), set the environment variable N8N_SECURE_COOKIE to false
我这里简单用 Cloudflare 做下反代来开启 SSL:

选择 更改端口:

将(指向服务器的)目标端口改为 5678:

注意此时 SSL/TLS 模式需要为灵活:
保存后稍等片刻再访问 https://your.domain.com 即可:

填写完成后即可进入控制面板:

如果你使用了 Nginx 配置 SSL 证书,请注意需要添加这两项:
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'Upgrade';否则在运行流程的时候会出现下面的错误:
❌ Problem running workflow
Lost connection to the server
五、测试工作流运行正常
选择首页的 Test a simple AI Agent example:

按照提示输入 hi 之后报错了:

错误信息:
Error in sub-node ‘OpenAI Model’
错误日志:
NodeOperationError: Error in sub-node OpenAI Model at ExecuteContext.getInputConnectionData (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/get-input-connection-data.ts:302:11) at processTicksAndRejections (node:internal/process/task_queues:105:5) at ExecuteContext.getInputConnectionData (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/node-execution-context/execute-context.ts:203:10) at getChatModel (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_944c224e2f203516e58b6afc03783333/node_modules/@n8n/n8n-nodes-langchain/nodes/agents/Agent/agents/ToolsAgent/common.ts:269:26) at ExecuteContext.toolsAgentExecute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_944c224e2f203516e58b6afc03783333/node_modules/@n8n/n8n-nodes-langchain/nodes/agents/Agent/agents/ToolsAgent/V1/execute.ts:44:19) at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_944c224e2f203516e58b6afc03783333/node_modules/@n8n/n8n-nodes-langchain/nodes/agents/Agent/V1/AgentV1.node.ts:461:11) at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1212:9) at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1582:27 at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2158:11
这里其实是由于认证没过,需要新增认证信息,双击出错的 OpenAI Model 节点,然后点击 Create new credential:

由于 DeepSeek 兼容 OpenAI,因此这里新增使用 DeepSeek API 的认证信息即可:
DeepSeek 的 API 可以去官网申请,起充为 10 元,还是很便宜的:deepseek 开放平台

之后选择 deepseek-chat 模型后保存:

再次测试输入 hi:

获得输出:
Welcome to n8n. Let's start with the first step to give me memory: "Click the + button on the agent that says 'memory' and choose 'Simple memory.' Just tell me once you've done that."
运行成功,至此 n8n 的部署和测试完成。
