0元部署私有n8n,免费的2vCPU+16G服务器,解锁无限制的工作流体验

60次阅读
没有评论

共计 4794 个字符,预计需要花费 12 分钟才能阅读完成。

上次白嫖了  Hugging Face  的  2 核 16g 服务器 ,只跑了个 demo!
这次用它来整点实际的活。把 n8n 部署上去!

准备工作

私有部署 n8n 要用到的服务:

Hugging Face 上文已经介绍过了,不了解朋友的可以看:免费白嫖 16G+2vCPU 的服务器!超简单教程,有手就会

Supabase  不了解的可以继续看下去⬇️

什么是 n8n

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

n8n 是一个强大的工作流自动化工具。
它通过一个可视化的、基于节点(Node-based)的界面,让您可以将不同的应用程序、数据库和在线服务(如钉钉、飞书、Gmail、数据库、各类 API)连接起来,创建自动化的工作流程。
尽管 官方提供了云服务,但存在一定的费用和使用限制。
社区版本的可以自己部署,使用起来也没有什么限制。
唯一需要的就是服务器。

什么是 supabase

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

Supabase 提供一个完整的 PostgreSQL 数据库。你可以像使用传统数据库一样创建表、设置关系,拥有完全的控制权。
免费版本的 拥有  500MB  存储空间和完整的  PostgreSQL  功能,没有阉割。
用来做 n8n 的数据库完全够用

一、登录 Supabase 并创建新项目

1. 登陆 / 注册 supabase 账号

这里具体过程不缀叙,可以选择 github 登陆。

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

邮箱认证之后首先会让你新建一个 organization

如下图新建即可,

  • Name 自定义
  • Type 选择 Personal
  • Plan 选择 Free – $0/month
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

2. 创建一个新的 project

  • 填入你的 Project name 和 db 的密码。

建议使用 generate a password 创建。
密码强度比较高,也不会跟你的其它应用重复。
会比较安全,只需自行保存好这个密码即可。

  • region 选择 West US
  • 下面的设置都默认即可。

然后点击Greate new project

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

3. 获取数据库连接信息

  • 项目创建成功后,进入项目主页。
  • 点击导航栏的 connect 获取连接信息
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

你需要记下  Transaction pooler  里面的信息。

注意:
记住,一定是 Transaction pooler 里面的。这是 公网可以访问的地址。
否则 n8n 会链接不上。

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

二、创建 Hugging Face Space

现在我们来创建 n8n 的运行环境。

1. 登录 Hugging Face 并创建新 Space

  • 访问 Hugging Face 首页,点击右上角你的头像,选择  “New Space”
  • Space name: 给你的 Space 起一个名字,例如  my-n8n。
  • License: 不用填。
  • Select the Space SDK:  这是最关键的一步!  请选择  “Docker”
  • Docker template: 选择  “Docker Blank”
  • Space hardware: 免费的 “CPU basic” 就足够了。
  • Public/Private: 建议选择  “Public”,你可以通过公网的地址访问。且国内不用魔法
  • 点击 “Create Space”
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

2. 配置 Space 的 Secrets (环境变量)

创建完成后,你会进入 Space 的管理页面。
为了安全地存储数据库密码等敏感信息,我们需要使用 Hugging Face 的 “Secrets” 功能。

  • 点击页面顶部的  “Settings”  选项卡。
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验
  • 找到 “Variables and secrets” 项分别创建
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验
  • 点击  “New secret”  按钮,逐一添加以下环境变量。请将 Value 替换为你在第二步中从 Supabase 获取到的真实信息。

Public Variables (公开变量)

这些变量的值是公开可见的,适合存放非敏感的配置信息。

环境变量 (Variable Name) 建议值 (Value) 说明
DB_TYPE postgresdb 告诉 n8n 我们使用的是 PostgreSQL 数据库。
DB_POSTGRESDB_HOST [你的 Supabase Host] 从 Supabase 获取的数据库主机地址。
DB_POSTGRESDB_PORT 5432 PostgreSQL 的标准端口号。
DB_POSTGRESDB_DATABASE postgres 在 Supabase 中使用的数据库名。
N8N_PORT 5678 n8n 容器内部监听的端口。Hugging Face 会自动将外部的 443 端口映射到这里。
N8N_PROTOCOL https 告诉 n8n 它的公开访问协议是 HTTPS。
N8N_EDITOR_BASE_URL [你的 Space URL] 非常重要
n8n 的完整公开访问地址,例如  https://YourName-YourSpaceName.hf.space/
这能确保所有重定向、Webhook 和 OAuth 回调都使用正确的 URL。
DB_POSTGRESDB_SSL true 关键设置。强制 n8n 使用 SSL/TLS 加密连接 Supabase 数据库,Supabase 要求此项。
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS true
N8N_PROXY_HOPS 1 建议设置。反向代理配置 n8n webhook
GENERIC_TIMEZONE Asia/Hong_Kong 可选。n8n 实例时区
TZ Asia/Hong_Kong 可选。容器的时区

Secrets (私密变量)

这些变量的值是加密存储的,用于存放密码、密钥等敏感信息。

环境变量 (Secret Name) 建议值 (Value) 说明
DB_POSTGRESDB_USER postgres Supabase 数据库的用户名。
DB_POSTGRESDB_PASSWORD [你的 Supabase 密码] 你在创建 Supabase 项目时设置的数据库密码。
N8N_ENCRYPTION_KEY [随机生成的长字符串] 极其重要 。用于加密和解密 n8n 中存储的凭证(Credentials)。 请务必备份好这个值!
WEBHOOK_URL [你的 Space URL] 与  N8N_EDITOR_BASE_URL  作用类似,用于确保 Webhook 能被正确触发。虽然有些冗余,但加上可以保证对旧版工作流的兼容性。

添加完成后,你的 Secrets 页面应该看起来像这样:

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

三、创建 n8n 的 Dockerfile

现在,我们需要告诉 Hugging Face Space 如何运行 n8n。
这通过  Dockerfile  文件来完成

1. 进入 Space 的文件管理页面

  • 点击页面顶部的  “Files”  选项卡。
  • 点击  “Add file” -> “Create a new file”。
0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

2. 将文件命名为  Dockerfile

Dockerfile  文件内容中,粘贴以下代码:

FROM n8nio/n8n

没错,只需要这一行即可。
直接使用 n8n 官方提供的最新版 Docker 镜像作为我们的应用。
这个镜像已经包含了运行 n8n 所需的一切。
点击 commit new file 提交修改

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

3. 部署和验证

当你提交  Dockerfile  后,Hugging Face Spaces 会自动开始构建和部署你的应用。
查看部署日志
点击页面顶部的  “Logs”  选项卡。
你会看到系统正在拉取 Docker 镜像并启动容器。这个过程可能需要几分钟。

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

当你在日志中看到类似下面的信息时,说明 n8n 已经成功启动并连接到数据库了:

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

那么接下来你就可以通过 Space 的公开 URL 访问 n8n 了。
URL 通常在页面顶部,格式为  https://YourUsername-YourSpaceName.hf.space。
首次访问时,n8n 会要求你创建一个所有者(Owner)账号。请设置你的用户名和密码。

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

然后你就可以尽情的享用了:

0 元部署私有 n8n,免费的 2vCPU+16G 服务器,解锁无限制的工作流体验

遇到的问题

  1. 访问 space 地址循环响应 206

解决思路:通过观察,发现 huggingface 上 n8n 运行输出的日志是正常的,查看 Run locally 发现 docker 监听的端口是 7860,n8n 的端口是 5678,两者不一致,重新设置 Variables 的 N8N_PORT=7860

问题小结:大概率是多次重启 space 容器导致

  • 2. n8n 已经可以正常访问,但 Space 上的 logs 循环输出错误日志:
ValidationError: The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false (default). This could indicate a misconfiguration which would prevent express-rate-limit from accurately identifying users. See https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/ for more information.
at Object.xForwardedForHeader (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/express-rate-limit@7.5.0_express@5.1.0/node_modules/express-rate-limit/dist/index.cjs:187:13)
at Object.wrappedValidations. as xForwardedForHeader
at Object.keyGenerator (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/express-rate-limit@7.5.0_express@5.1.0/node_modules/express-rate-limit/dist/index.cjs:671:20)
at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/express-rate-limit@7.5.0_express@5.1.0/node_modules/express-rate-limit/dist/index.cjs:724:32
at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/express-rate-limit@7.5.0_express@5.1.0/node_modules/express-rate-limit/dist/index.cjs:704:5 {
code: 'ERR_ERL_UNEXPECTED_X_FORWARDED_FOR',
help: 'https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/'
}

解决思路:根据日志提示前往 官方社区 寻找答案以及 官网文档 搜索关键词,得出结论应该是 huggingface 提供的 space 访问地址是反向代理到 n8n 容器,需要设置环境变量 N8N_PROXY_HOPS=1,在 Variables 增加该变量重启 space 已不再输出错误日志。

最后补充一下

Hugging Face Spaces 的免费 CPU 套餐有休眠策略。
如果你的 Space 一段时间没有被访问,它会自动休眠。
解决方案是你可以弄一个  uptime  服务,定时的访问一下。
一来可以防止它休眠,二来可以监控服务状态是否正常。
一举两得~

延伸资源

参考链接:

1. https://mp.weixin.qq.com/s/JZGs7UBWUo0IRK_ng9_qnQ

2. https://linux.do/t/topic/436249

正文完
 0
wordme
版权声明:本站原创文章,由 wordme 于2025-09-09发表,共计4794字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】AI 驱动 · 智领未来,4核4G3M云服务器低至 79元/年宝塔服务器面板,一键全能部署及管理
评论(没有评论)
验证码