Huginn快速上手:5分钟用Docker部署自己的Agent自动化平台(保姆级教程)
【免费下载链接】huginnCreate agents that monitor and act on your behalf. Your agents are standing by!项目地址: https://gitcode.com/gh_mirrors/hu/huginn
Huginn 是一款开源的Agent 自动化平台,跑在你自己的服务器上:你可以创建一个个"Agent",让它们替你监控天气、盯守推特关键词、抓取网页变化,并自动发邮件、推送 Slack 或执行 Webhook——相当于一个可完全自托管的 IFTTT/Zapier。本文是一份Huginn Docker 部署教程,只需一条命令、5 分钟,带你从零上线属于自己的 Agent 自动化平台,并完成登录验证与第一个 Agent 的创建。
一、Huginn 是什么:一个完全属于你的 Agent 自动化平台
很多自动化工具要求你把数据和账号交给第三方。而 Huginn 的理念很简单:你的数据由你掌控。每个 Agent 都会创建和消费"事件"(Event),事件沿着有向图在 Agent 之间流转,最终触发你想要的动作。💡
官方内置了 60 多种 Agent,常见的能力包括:
- 🌦️ 监控天气,明天下雨自动发邮件提醒你带伞
- 🐦 盯守推特关键词,讨论量出现"峰值"时立刻通知你
- 🛒 监控机票、购物优惠页面,价格变化第一时间推送
- 📄 定时抓取网站,内容一变化就触发后续流程
- 🔌 连接 Slack、RSS、IMAP、JIRA、MQTT、微博、Twilio 等
- 📧 每天固定时间发送"摘要邮件",汇总你关心的内容
- ⚡ 运行自定义 JavaScript 函数,灵活扩展
下面这张图就是登录 Huginn 后看到的 Agent 列表页,首次部署完成后默认会自带一批示例 Agent,状态一目了然:
所有 Agent 的源码都在 app/models/agents/ 目录下,每种 Agent 一个文件,想扩展能力时从这里入手。
二、准备工作:安装 Docker 并确认端口
Huginn 最快的部署方式就是Docker 容器(官方推荐方式,文档见 doc/docker/install.md)。你只需要两件事:
- 安装 Docker:安装任意最新版 Docker(Linux 上为 Docker Engine,Windows/Mac 上为 Docker Desktop)即可,无需预装 Ruby、MySQL 等任何依赖;
- 确认 3000 端口空闲:Huginn 默认对外提供 3000 端口,如被占用可换用其他端口(后文命令会一并说明)。
✅ 没有数据库?没关系——多进程镜像内自带 MySQL,开箱即用,稍后我们会讲如何把数据持久化。
三、一条命令部署:5 分钟跑起 Huginn
打开终端,执行下面这一行命令(这是本教程的核心步骤):
docker run -it -p 3000:3000 ghcr.io/huginn/huginn这条命令做了什么?
| 参数 | 作用 |
|---|---|
-p 3000:3000 | 把容器的 3000 端口映射到本机 3000 端口 |
ghcr.io/huginn/huginn | 拉取 Huginn 官方多进程镜像 |
-it | 交互模式,方便观察启动日志 |
启动过程中会发生以下事情:
- 首次运行自动拉取镜像(约几百 MB,视网络而定);
- 容器内启动内置 MySQL,自动建库、执行数据库迁移;
- 自动 seed 示例数据:创建管理员账号,并导入默认示例 Agent;
- 等待不到一分钟,浏览器访问
http://localhost:3000即可看到登录页。
⚠️ 注意:这个"一行命令"模式适合快速体验与评估。不挂载数据卷的话,容器删掉后 Agent 数据也会丢失。正式使用请接着看第六节"数据持久化"。
四、首次登录:admin 账号与默认 Agent 体验
- 浏览器打开
http://localhost:3000; - 使用默认账号登录:用户名admin,密码password;
- 登录后请立即修改密码;
- 进入 Agents 页面,就能看到上一节提到的默认 Agent 列表(RSS 抓取、天气监控、推特监控等)。
登录后还值得一看的是View diagram(事件流图)。它把所有 Agent 之间的"事件流向"画成一张有向图——左边是各类信息源,右边是触发器和摘要邮件,非常直观地展示了"Agent 自动化平台"是如何把事件串联起来的:
另外,内置的 Peak Detector(峰值检测器)会统计高频事件,当某个关键词的讨论量突然飙升时发出告警,下图就是它的趋势图表页面:
五、创建你的第一个 Agent
一切就绪,现在来创建属于你自己的 Agent:
- 在 Agents 页面底部点击+ New Agent;
- 在Type下拉框选择 Agent 类型(如
TwitterStreamAgent、WebsiteAgent、EmailAgent等); - 填写Name和Schedule(执行间隔);
- 在Options面板中配置选项,右侧会实时显示该类型 Agent 的说明文档。
配置完成后点击Create,稍等片刻,你的第一个自动化 Agent 就开始工作了。🎉
小贴士:不同 Agent 需要的"事件来源"(Sources)不同,页面会提示该类型能否接收上游事件,跟着表单提示填写即可。
六、数据持久化:升级镜像不丢 Agent
体验满意后,建议切换到"挂载数据卷"的模式,把内置 MySQL 的数据落到宿主机目录:
docker run --rm -it -p 3000:3000 \ -v /home/huginn/mysql-data:/var/lib/mysql \ ghcr.io/huginn/huginn更稳妥的生产做法,是使用 docker/multi-process/ 目录下的 docker-compose 方案(包含独立 MySQL 容器 + 数据卷容器),直接执行:
cd docker/multi-process docker-compose up如果你已有现成的 MySQL 或 PostgreSQL 实例,也可以不挂载卷、改为外部数据库连接,参考 docker/mysql.env 中的环境变量命名方式(HUGINN_DATABASE_*),完整变量说明见 docker/multi-process/README.md。
七、常用环境变量速查
Huginn 全部采用 12-Factor 风格的环境变量配置(完整清单见 .env.example),Docker 部署时通过-e传入即可。新手最常改的几个:
| 变量 | 说明 |
|---|---|
SEED_USERNAME/SEED_PASSWORD | 自定义初始管理员账号(默认 admin/password) |
DO_NOT_SEED | 设为 true 后不再自动导入默认示例 Agent |
DOMAIN | 部署域名,默认localhost:3000 |
FORCE_SSL | 是否强制 HTTPS,公网部署建议开启 |
HUGINN_DATABASE_* | 外部数据库的地址、用户名、密码等 |
INVITATION_CODE | 新用户注册所需的邀请码 |
八、常见问题(FAQ)
Q1:页面打不开 / 一直转圈?镜像首次启动需要建库、迁移、seed 数据,请耐心等待约 1 分钟再看容器日志,直到出现服务启动完成的信息。
Q2:3000 端口被占用了怎么办?把-p 3000:3000改为-p 8080:3000即可,然后用http://localhost:8080访问。
Q3:升级镜像后 Agent 数据会丢吗?未挂载数据卷时会丢(内置 MySQL 随容器消失)。请按第六节挂载数据卷或使用外部数据库,这是 Docker 部署 Huginn 最重要的一个习惯。
Q4:Agent 建好了却"不动"?检查 Agent 列表中的Working?状态是否为 Yes,并确认该类型 Agent 的执行间隔(Schedule)设置是否符合预期;也可以点Run event propagation手动触发一次事件传播。
总结
恭喜!🎉 你已经在自己的服务器上用 Docker 部署好了 Huginn Agent 自动化平台:
- ✅ 一条
docker run命令完成部署 - ✅ 用 admin/password 登录并修改初始密码
- ✅ 看懂了默认 Agent 与事件流图
- ✅ 创建了自己的第一个 Agent
- ✅ 用数据卷保证数据持久化
接下来可以去 doc/ 目录安装与运维文档,或打开 Agents 类型列表,开始搭建属于你的自动化工作流。你的 Agent,已经就位待命!
【免费下载链接】huginnCreate agents that monitor and act on your behalf. Your agents are standing by!项目地址: https://gitcode.com/gh_mirrors/hu/huginn
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考