docker系列 搭建基于bark server的消息推送服务器
本文最后更新于 351 天前,其中的信息可能已经有所发展或是发生改变,如有失效可到评论区留言。

前言

我在使用Uptime-Kuma的时候,遇到一个很纠结的问题:那就是监控到自己站点的健康变化的时候,如何才能最有效的进行实时通知?Uptime-Kuma支持很多通知方式,但是正常人能用的不过是这几个:
1、SMTP
这个倒是可以,不过需要设置对应的邮件客户端的即时通知,只是我一般不喜欢一有邮件就看,所以邮件通知可以作为存档查看,却不合适作为即时通知。这里顺便一提139邮箱,到是支持短信通知,但是对于短信通知的格式却不太容易改。
2、webhook
这个也行,但是最好是你有现成的webhook接收端,如果要完全自建那就不推荐。
3、Telegram
这个其实也行,但是不适合国内使用,自己有方法的朋友可以自己自行设置,也比较简单。
4、AliyunSMS
这个本来是可行的,我还专门花了30元买了一个套餐,结果搞到最后才发现,短信模板必须包含以下4个变量:{name}{time} {status}{msg},但是包含了这4个变量的短信模板却不能通过审核,客服打死不同意4个变量,建议我3个就够了,可能是怕我干坏事?

image.png

所以30元打了水漂。。

image.png

另外还有钉钉,飞书,企业微信机器人等,但是这些都不适合我用(本来就在使用的兄弟可以用),我本来就没用这些。。

到这里视乎陷入了死局,结果这个时候我发现了bark。

image.png

Bark是一个支持自建的消息推送服务器(其实也是webhook),并且在苹果系列产品上(iphone,ipad,mac)上都可以直接在app stroe里安装client用来接收通知,这个完全契合了我的现状。

部署bark-server

首先,使用docker安装一个bark服务器,推荐在有公网地址的家庭宽带,或者云服务器上进行安装,安装命令如下:

docker run --name bark-server -dt  --restart=always  -p 8080:8080 -v /docker/bark-server/data:/data finab/bark-server

参数解释:
-p 8080:8080
指定容器的映射端口,8080这个按你自己实际环境需求修改就行。
-v /docker/bark-server/data:/data finab/bark-server
/docker/bark-server/data是我宿主机上的挂载目录,按照自己的实际环境进行更改。

运行完成以后,直接使用浏览器访问http://你的公网ip:8080/ping,如果得到以下响应:

image.png

即为成功。

ios终端设置

然后在appstroe里下载bark的app,打开后,显示如下界面:

image.png

顺便说一句,bark默认就提供了可用的消息服务器,就是上面那个api.day.app,讲道理直接是可以用的,只不过是公用的,你推送的消息别人都能看到。所以为了安全我们还是最终要使用自建的服务器。

点击右上角的+号:

image.png

image.png

在服务器地址这里,输入http://你的公网ip:8080,然后点击右下角的完成,如下图:

image.png

添加成功以后会回到初始界面:
image.png

然后点击注册设备:
这时候会收到通知,要求允许bark app的通知,这里点击允许:
image.png

然后回到这个页面,就表示注册设备已经成功:
image.png

然后回到Uptime-Kump,在通知里选择bark:

image.png

注意这个红框中的bark接入点地址,就是上面我们刚注册成功以后那个界面中的红框部分地址,如下图:

image.png

这里我们只要点上方的复制按钮就能直接把这个地址复制下来,然后粘贴到Uptime-Kuma通知中的bark接入点就行了。后面的”这里改成你自己的推送内容“可以按你自己的需要进行修改,这个就是监控站点出问题的时候,app接收到通知的内容。

自此Uptime-Kuma的bark通知设置完成,我是同时设置了好几个bark通知,分别对应iphone,ipad,macbook,mac-mini,一出问题所有设备都实时收到通知,非常实用,再也不用纠结短信了。

配置公网访问

如果要发布到公网上的,大家需要根据实际环境和自己使用的反向代理选择最适合自己的发布方式,可以参考我以前的几篇文章:
1、docker系列 使用docker基于NPM搭建自己的反向代理
2、linux面板系列 配置反向代理并使用非443端口进行发布
3、家庭数据中心系列 通过国内备案云主机白嫖cloudflare实现国外快速访问国内站点
4、家庭数据中心系列 通过无公网IP的家庭宽带白嫖cloudflare实现快速建站(通用)

其中第1,2种方式适合有公网ip却没有合法443端口的环境(家庭宽带、未备案的云主机),需要在url后面加非标端口(如果使用cloudflare建站的不需要加端口,但是需要自定义源站端口,这个可以参考:家庭数据中心系列 通过cloudflare的Origin Rules解决建站有公网IP却没有合法的80、443端口的问题)。第3种方式适合有备案的云主机,第4种方式适合所有环境(包括没有公网IP的环境),也是我建议的方式(不管你的环境有没有公网IP,因为这种方式不需要直接在公网上跑https流量)。

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       

本站已禁用鼠标右键和各种快捷键,代码块内容可以直接在右上角点击复制按钮进行复制

zh_CN
春节
快乐