NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

2024-04-08 10:55:11 46点赞 442收藏 24评论

前言

大家好,这里是可爱的Cherry。

Cherry曾经给大家介绍过一些常用的webhook和通知工具,用来接收NAS、Docker容器中的一些消息。

然而在企业、团队场景中,单一的消息通知往往显得不够专业,如果能将消息一一对应的通知到具体的负责人上,那该有多好呀,于是,消息聚合通知平台应运而生。

今天,Cherry给大家带来一款非常非常轻量级的消息聚合通知平台——heimdallr

该项目支持bark、企微、企微webhook、pushdeer、Chanify、Pushover、Email、Discord(webhook)、TGbot、ntfy、Lark、钉钉bot、Apprise等常用的通知平台。最最重要的是,支持无头服务器部署,0成本运作。

项目地址:https://github.com/LeslieLeung/heimdallr

项目特性

一个非常轻量的通知网关,可以聚合各种推送渠道,使用 Serverless 部署,几乎零成本运行。

等同于免费、开源、可自建的 新版Server酱,没有任何限制,痛快推送

支持各种常见的推送渠道,如Bark、企业微信等

支持 Apprise,从此再也不缺通知渠道(完全列表见链接)

完全兼容 Bark 的路由,任意支持 Bark 的地方,都可以使用 Heimdallr 同时发送到更多渠道

支持多通知渠道和分组配置

支持 Serverless 部署,几乎零成本运行

解决因为群晖DSM奇怪的 webhook 设置方式而无法接入一些推送渠道的问题

🔻效果如下

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

系统部署

一、环境变量

🔻该项目所有系统参数均通过环境变量控制,只需要找到想要使用的通知工具,把对应的代码复制到compose文件中即可,具体参数如下:

#分组配置,后面自定义组名,但是要保证剩余参数使用该命名开头。 ENABLED_GROUPS=group_1,group_2 # Define groups # group_1 group_1_ENABLED_CHANNELS=channel_1,channel_2,channel_3,channel_4,channel_5,channel_6,channel_7,channel_8,channel_9 group_1_TOKEN= # group_2 group_2_ENABLED_CHANNELS=channel_1,channel_3 group_2_TOKEN= # Define channels # channel_1(bark) channel_1_TYPE=bark channel_1_BARK_URL= channel_1_BARK_KEY= # channel_2(wecom_webhook) channel_2_TYPE=wecom_webhook channel_2_WECOM_WEBHOOK_KEY= # channel_3(wecom_app) channel_3_TYPE=wecom_app channel_3_WECOM_CORP_ID= channel_3_WECOM_AGENT_ID= channel_3_WECOM_SECRET= # channel_4(pushover) channel_4_TYPE=pushover channel_4_PUSHOVER_TOKEN= channel_4_PUSHOVER_USER= # channel_5(pushdeer) channel_5_TYPE=pushdeer channel_5_PUSHDEER_TOKEN= # channel_6(chanify) channel_6_TYPE=chanify channel_6_CHANIFY_TOKEN= # channel_7(SMTP) channel_7_TYPE=email channel_7_EMAIL_HOST= channel_7_EMAIL_PASSWORD= channel_7_EMAIL_PORT=465 channel_7_EMAIL_STARTTLS=True channel_7_EMAIL_TO= channel_7_EMAIL_USER= # channel_8(Discord Webhook) channel_8_TYPE=discord_webhook channel_8_DISCORD_WEBHOOK_ID= channel_8_DISCORD_WEBHOOK_TOKEN= # channel_9(Telegram) channel_9_TYPE=telegram channel_9_TELEGRAM_TOKEN= channel_9_TELEGRAM_CHAT_ID= # channel_10(ntfy) channel_10_TYPE=ntfy channel_10_NTFY_HOST= channel_10_NTFY_TOPIC= # channel_11(lark) channel_11_TYPE=lark_webhook channel_11_LARK_TOKEN= # channel_12(dingtalk) channel_12_TYPE=dingtalk_webhook channel_12_DINGTALK_TOKEN= channel_12_DINGTALK_SAFE_WORDS= # channel_13(apprise) channel_13_TYPE=apprise channel_13_APPRISE_URLS=

二、docker-compose.yaml代码

🔻新建一个文件夹,可以用项目为名字。在文件夹下新建一个docker-compose.yaml文件,将下面代码复制进去。

services:

heimdallr:

container_name: heimdallr

ports:

- 9000:9000

environment:

#- DEBUG=True #(可选)自定义是否开启debug详情

#- PORT=9000 #(可选)默认端口号,如果改了上面对应的右侧也要改

#- WORKERS=1 #(可选)默认线程数,无头部署建议1,NAS上可以多一些

# 分组启用参数,表示启动分组group_1

- ENABLED_GROUPS=group_1

# 频道启用参数,表示启用分组group_1下的频道channel_1和channel_2

- group_1_ENABLED_CHANNELS=channel_1,channel_2

# webhook使用的token,可自定义

- group_1_TOKEN=a12345

# 频道channel_1的参数(bark)

- channel_1_TYPE=bark

- channel_1_BARK_URL=

- channel_1_BARK_KEY=

# 频道channel_2的参数(wecom_webhook)

- channel_2_TYPE=wecom_webhook

- channel_2_WECOM_WEBHOOK_KEY=

image: leslieleung/heimdallr:latest

三、SSH部署

#来到文件夹

cd /volume1/docker/{item}

#启动容器

docker-compose up -d

四、群晖部署compose

打开container manager,选择项目,点击新建,选择penpot路径,点击下一步即可

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

五、威联通部署compose

打开container station,创建应用程序,复制代码验证后部署即可

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

六、无头服务器部署地址

Heimdallr Deploy Guide (zeabur.com)


系统使用

一、在群晖7.2侧使用通用webhook

🔻来到控制面板通知设置,选择webhook

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻选择新建一个webhooks,供应商自定义,规则根据自己要求选择。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻如果是通用型webhook,可以配置URL为http://ip:port/push/form

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻HTTP请求这里,选择POST,表头选form,主体里key为之前设置的token,title为标题,body固定为@@TEXT@@。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

二、在群晖7.2以下使用通用webhook

🔻来到控制面板通知设置,选择短信,点击新增短信服务提供商。名称随意,网址url填写

https://ip:port/key?phone=123&title=hi&body=hello+world

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻点击下一步,在编辑HTTP请求标题页面留空,点下一步即可。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻按图设置短信信息

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻回到控制面板,选择刚才添加的短信服务提供商,发件人随便填,作为通知title,主要电话号码也是随便填即可。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

三、威联通使用方法

🔻进入通知中心-服务帐户和设备配对-短信,点击添加 SMSC 服务,填入URL

https://ip:port/key?phone=@@PhoneNumber@@&title=Notification+From+QNAP&body=@@Text@@

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

🔻来到系统通知规则,进入警报通知,选择创建规则,在收件人处选择短信方式,选择刚才添加的服务即可。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

四、使用rsspush的webhook

🔻主要参数如下,URL填写http://ip:port/webhook/rsspush/{key},该方法不适用bark,其它通知可以用。

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

五、其它接口模式

🔻官方API接口文档地址:https://heimdallr.zeabur.app/docs#/

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

#本项目为docker部署,所有NAS均可安装#

NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
24评论

  • 精彩
  • 最新
  • 置顶 作者还做了个配置生成器:去看看

    校验提示文案

    提交
    这个确实没看到过

    校验提示文案

    提交
    收起所有回复
  • 只支持企业微信,不支持微信?

    校验提示文案

    提交
    企微bot的webhook推送到微信呀

    校验提示文案

    提交
    小白表示看不懂……

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 返回信息,认证错误是什么回事

    校验提示文案

    提交
    认证错误就是api方法不对

    校验提示文案

    提交
    收起所有回复
  • 看不懂。群晖怎么做?也复制代码?群晖不是有docker?安装docker也不是这样安装的啊?写的有点太高深了,不适合普通人

    校验提示文案

    提交
    群晖写了呀,部署里第三条,在container manager里选项目 复制代码运行

    校验提示文案

    提交
    收起所有回复
  • 不懂就问…极空间怎么用compose啊…

    校验提示文案

    提交
    极空间目前利用漏洞获取SSH权限以后才可以。不然是无法使用compose的

    校验提示文案

    提交
    已经获取ssh权限…如何使用compose 啊 有没有教程啊大佬

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 不错的分享,谢谢

    校验提示文案

    提交
  • Mark

    校验提示文案

    提交
  • 那么躲代码,看不懂(#-.-)

    校验提示文案

    提交
  • 我先点赞收藏,有时间研究下。

    校验提示文案

    提交
  • 我觉得也是非常不错的

    校验提示文案

    提交
    是的 新项目,但是效果不错

    校验提示文案

    提交
    收起所有回复
  • 用上了,挺好用,多谢楼主分享

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
442
扫一下,分享更方便,购买更轻松