今日热门-什么值得买好文 ( ) • 2024-04-08 18:05

前言

大家好,这里是可爱的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软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

暖春家装季,分享家居&家电使用/避坑干货,超千元元购物卡等你赢,更有海量金币等你瓜分!此次活动时间有限,赶紧来参加吧!立即参与→

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