在 Hugging Face 上免费部署自更新的 n8n

在 Hugging Face 上免费部署自更新的 n8n

您是否正在寻找一种免费、可自托管且功能强大的工作流自动化工具?n8n 是一个绝佳的选择,它允许您连接各种应用程序和服务,创建复杂的自动化流程。而现在,借助 Hugging Face 和 Supabase 的免费资源,您可以轻松拥有一个能够自动更新的 n8n 实例,无需花费一分钱。

本文将详细介绍如何使用一个 GitHub 模板项目,在 Hugging Face Spaces 上免费部署一个 n8n 实例,并使用 Supabase 作为其 PostgreSQL 数据库。更棒的是,该方案通过 GitHub Actions 实现了完全自动化,包括:

  • 保持服务活跃:自动化的脚本会定期访问您的 Hugging Face Space 和 Supabase 项目,防止它们因为长期不活跃而被暂停。
  • 每日自动更新:脚本每天会自动检查 n8n 是否有新版本发布,一旦发现新版本,便会自动更新您的部署,确保您始终使用最新、最安全的功能。

让我们开始吧!

请完全按照以下步骤操作,以确保部署过程顺利无误。

首先,您需要将 tenfyzhong/n8n-free 这个 GitHub 仓库 fork 到您自己的账户下。这是整个自动化流程的基础。

n8n 需要一个数据库来存储工作流、凭证等数据。我们将使用 Supabase 提供的免费 PostgreSQL 数据库。

  1. 访问 Supabase 官网 并创建一个新项目。
  2. 项目创建成功后,在左侧导航栏中找到 SQL Editor
  3. 在 SQL 编辑器中,运行以下 SQL 命令来创建一个名为 的表。这个表的作用是配合保活工作流,确保您的 Supabase 实例不会因为不活跃而被系统暂停。
  4. 接下来,进入 Project Settings > API,在这里找到并复制您的 Project URLannon public API 密钥。请妥善保管,我们在后续步骤中会用到它们。
  5. 为了数据库连接的安全性,您需要启用 SSL。在 Project Settings > Database 页面下,找到 SSL Configuration 部分并启用它。

Hugging Face Spaces 是我们用来托管 n8n 应用的地方。

  1. 访问 Hugging Face Spaces 并创建一个新的 Space。
  2. 在创建页面,选择 Docker 作为 Space SDK,并选择一个免费的硬件配置。
  3. Repository from GitHub 选项中,选择您刚刚 fork 的 仓库。
  4. Space 创建完成后,进入 Settings 页面,在这里我们需要添加一些 Secrets 和 Variables,它们是 n8n 运行所必需的配置。

    Secrets (机密信息)

    Secret 描述 您在 Supabase 项目中设置的数据库密码。 Supabase 数据库用户名 (通常是 )。 用于加密 n8n n8n 工作流 教程 敏感数据的密钥,请设置一个复杂的随机字符串。 Supabase 数据库的 SSL 证书内容。 Supabase 数据库的主机地址。 Supabase 数据库的端口。 数据库名称,设置为 。

    Variables (公开变量)

    Variable 描述 n8n 的通用时区,例如 。 系统的时区,例如 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 。 设置为 (单位:小时)。

最后一步是配置 GitHub Actions,让它有权限去更新您的 Hugging Face Space 并保持服务活跃。

  1. 首先,在 huggingface.co/settings/tokens 页面创建一个新的 API 令牌,并赋予其 write 权限。
  2. 回到您 fork 的 GitHub 仓库,进入 Settings > Secrets and variables > Actions
  3. 创建一个名为 的新 secret,并将您刚刚创建的 Hugging Face 令牌粘贴进去。
  4. 创建一个名为 的新 variable,值为您的 Hugging Face Space 的 URL (例如 )。
  5. 创建名为 的新 secret,值为您之前复制的 Supabase 项目 URL。
  6. 创建名为 的新 secret,值为您之前复制的 Supabase API 密钥。

这个项目的美妙之处在于其自动化脚本,它们在后台默默工作,为您节省了大量手动维护的时间。

文件定义了一个 GitHub Action 工作流,在n8n部署完成之后,可以在n8n上创建一个workflow定期触发github workflow。其工作流程如下:

  1. 检查新版本: 脚本会访问 n8n 的官方 GitHub 仓库,获取最新的版本号。
  2. 比较版本: 将获取到的最新版本号与您当前 中记录的版本号进行比较。
  3. 更新并推送: 如果发现新版本,工作流会自动:
    • 更新 中的 n8n 版本。
    • 将此更改提交到您的 GitHub 仓库。
    • 将更新后的代码推送到 Hugging Face,这将触发 Space 的重新构建,从而将您的 n8n 实例更新到最新版本。

您也可以随时在 GitHub 仓库的 Actions 标签页中手动触发此工作流。

为了防止 Hugging Face 和 Supabase 的免费服务因为不活跃而被暂停,项目内置了两个保活工作流:

  • Hugging Face 保活 (): 这个脚本会向您的 Hugging Face Space URL 发送一个简单的 请求,模拟用户访问,以保持其活跃状态。
  • Supabase 保活 (): 同样地,这个脚本会向您 Supabase 数据库中的 表发送一个请求,确保数据库实例不会被暂停。

完成以上所有步骤后,您就拥有了一个完全免费、功能齐全且能自动更新的 n8n 自动化平台。现在,您可以尽情地在上面构建您的自动化工作流了!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/250433.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月13日 下午6:51
下一篇 2026年3月13日 下午6:52


相关推荐

关注全栈程序员社区公众号