什么值得买 04-08
开源&Docker 篇八十八:NAS通知到微信,企业通知到人到岗。免费部署支持10+平台的聚合通知系统
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

作者:可爱的小 cherry

前言

大家好,这里是可爱的 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 设置方式而无法接入一些推送渠道的问题

效果如下

系统部署

一、环境变量

该项目所有系统参数均通过环境变量控制,只需要找到想要使用的通知工具,把对应的代码复制到 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 路径,点击下一步即可

五、威联通部署 compose

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

六、无头服务器部署地址

Heimdallr Deploy Guide ( zeabur.com )

系统使用

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

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

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

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

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

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

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

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

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

按图设置短信信息

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

三、威联通使用方法

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

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

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

四、使用 rsspush 的 webhook

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

五、其它接口模式

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

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

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

本文来自什么值得买网站(www.smzdm.com)

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

智慧云

智慧云

ZAKER旗下新媒体协同创作平台

相关标签

nas 微信 开源 discord 效果
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论