使用免费云容器部署n8n工作流

在当今信息爆炸与多平台协作的时代,重复性的操作和数据搬运往往消耗了大量时间与精力。如何高效地打通不同系统之间的壁垒,构建属于自己的自动化流程,成为许多个人与团队的共同诉求。n8n 作为一款开源、可自托管的自动化工作流工具,不仅能够通过可视化界面轻松连接数百种应用与服务,还允许在需要时灵活编写逻辑,从而让复杂的任务变得高效、可控并完全掌握在自己手中。

CrawCloud部署

CrawCloud对Github注册超过180天的用户提供了每月$5的免费额度,只需要用Github登陆即可领取。

登陆后点击AppStore搜索n8n安装,免费版最高开到4H8G。如果想跑满一个月则只能开0.5H512M配置的服务器。用来跑轻量的工作流还可以。

同时,CrawCloud的IP在中国大陆有可能出现无法访问的情况。

Huggingface部署

Huggingface提供2H16G超高配置服务器,但缺点是没有持久化存储,并且48小时不活动会自动休眠,但是本教程提供保活方法。

创建Supabase数据库

由于Huggingface没有数据持久化,所以我们需要把数据保存到数据库中,以便预防服务器休眠导致的数据丢失。

需要注册一个Supabase账户,点击进入注册链接,直接用Github登陆就可以。免费版有1GB空间。

创建数据库,请记住密码后续有用。然后点击数据库顶部Connect,我们只需要Transaction pooler这些数据。

复制Huggingface Space

注册后进入Huggingface Spaces搜索n8n随便点进去一个复制到自己的账户下。

填写以下字段,根据数据库提示填写。

保活

Huggingface的保活很简单,只需要每天运行一个定时任务就可以了。

Supabase的保活需要一个运行于Vercel的脚本。脚本地址:bebestmaple/supabase-keep-alive。然后fork一份,打开Vercel进行部署,部署时需要配置环境变量。

变量名:SUPABASE_CONFIG

值:

1
2
3
4
5
6
7
8
9

[
{
"name": "Supabase1",
"supabase_url": "https://your-project.supabase.co",
"supabase_key": "your-api-key",
"table_name": "your_table"
}
]

先复制到技术笨重,将以上内容替换成真实内容后粘贴到Vercel环境变量中。这样每访问一次链接就进行了一次简单查询。

然后登陆Cloudflare创建一个Cron任务,设置每天运行一次。

创建一个Workers并粘贴以下代码(需要更换链接):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
const url = "https://your-supabase-keep-alive.vercel.app/api/keepalive";
try {
const res = await fetch(url); // 发送请求到 Vercel KeepAlive API
return new Response("✅ Ping success", { status: 200 }); // 返回成功响应
} catch (err) {
console.error("❌ Ping failed:", err);
return new Response("❌ Ping failed", { status: 500 }); // 返回失败响应
}
}

然后返回点击设置→触发器→输入 0 0 * * * 即每天0点执行一次。

除此之外使用UptimeRobot也可以做到保活的目的。