支持手机和电脑,使用NAS搭建实时私人消息推送服务器『Gotify』

俺是玩机小能手 2024-07-21 15:27:08
支持手机和电脑,使用NAS搭建一个实时的私人消息推送服务器『Gotify』

哈喽小伙伴们好,我是Stark-C~

我之前给大家分享很多监控类Docker容器(比如前几天分享的Uptime Kuma)的时候都会用到消息推送服务为我们推送相应的消息通知,我一般为了省事总会选择Server酱。不过Server酱的弊端其实也很明显,除了必须关注公众号,还有每天最多5条的通知限制,最让人不爽的就是会时不时的推送一些私货(广告之类)的,要不是因为它确实方便免费,说实话它的这些弊端我是怎么也接受不了的。

想着使用Server酱也不是长久之计,所以今天教大家直接在自己的NAS上部署一个免费开源的消息推送服务器『Gotify』,消息推送纯粹,并且还没有次数限制,同时它也支持非常多的应用推送服务,一次部署永久使用,还是值得一试的。

关于Gotify

Gotify是一个极简的免费开源消息推送服务器,它基于Websocket协议,可以轻松集成到任何具有HTTP客户端能力的平台上,如Web应用、移动应用或物联网设备。

它的特性如下:

轻量级:由于其简单的架构和小体积,Gotify 在资源有限的环境中也能运行良好。

可扩展:通过插件系统可以方便地增加新功能,满足各种定制需求。

跨平台:支持多种操作系统,包括 Linux, macOS 和 Windows。

易部署:提供一键安装脚本和Docker镜像,快速部署到本地或云端。

社区活跃:有一个积极的开发者社区,持续维护和更新项目。

它的使用场景如下:

开发工具:开发人员可以将 Gotify 作为构建/测试通知的服务,当代码构建成功或失败时,自动发送消息到开发者的手机或电脑。

服务器监控:与Prometheus、Grafana等监控工具配合,Gotify 可以在出现性能问题或者警报时立即通知运维人员。

物联网应用:实时推送设备状态更新或警告信息,提高响应速度。

个人任务管理:创建自己的提醒服务,比如待办事项、日程提醒等。

企业通讯:小型团队可以用它构建内部的通知系统,替代传统邮件或IM。

Gotify部署

先打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【gotify】用于数据持久化存储。

部署起来还是很简单的。这里以威联通NAS为例,当前面的准备工作全部搞定之后,就可以打开“应用程序”使用docker-compose 代码直接部署即可(以下代码需要根据注释自行修改):

version: '3.9'services: gotify: image: gotify/server:latest container_name: Gotify ports: - 80:80 # 冒号前面端口不冲突即可 volumes: - /docker/gotify:/app/data:rw # 冒号前面映射gotify文件夹路径 environment: GOTIFY_DEFAULTUSER_NAME: stark # 管理员账号 GOTIFY_DEFAULTUSER_PASS: 123456 # 管理员密码 TZ: Asia/Shanghai

如果你习惯SSH部署,可以将修改好的docker-compose.yml文件放到NAS任意文件夹内,然后运行以下命令:

#进入文件夹cd 文件夹实际路径#启动容器docker-compose up -d

如果没什么问题,可以看到Gotify已经跑起来了。

Gotify体验

登录:

直接在浏览器中输入 【http:// NAS的局域网IP:端口号】 就能看到登录界面了,登录的账号和密码就是我们部署时候自己设置的账号和密码。

创建实例:

Gotify界面非常简洁 ,遗憾的是目前它还没有原生中文显示(英语学渣借助浏览器翻译插件倒也无妨~)。使用它的第一步咱们需要先为它创建一个消息推送实例。点击“ APPS--CREATE APPLICATION”。

随便为我们创建的这个消息推送实例命名,我这里为了演示就命名为“测试”,然后点“CREATE”按钮。

然后在这个实例中有一个Token,我们需要记下来。

手机端推送:

接着为大家演示手机端的推送信息。开始之前我们先要下载Gotify手机客户端APP,目前Gotify只有安卓端,可以直接在谷歌应用市场直接下载。

然后打开APP程序之后,按照提示输入【局域网IP:端口号】(如果想要在外网使用这里务必填写你做到的反代链接),账号和密码就能登录进来了。

接着咱们直接使用SSH终端执行信息发送命令:

curl "(http://IP:端口号)/message?token=(你创建实例的token)" -F "title=(标题)" -F "message=(内容)" -F "priority=5"

说明一下:命令中的“()”中的内容都是根据你自己那边的实际情况需要修改的,如果你是在外网使用,(http://IP:端口号)这里面应该改为你做好的反向代理链接地址。

如果没什么问题,电脑端这边会马上弹出消息提示。

手机端也能顺利弹出消息。

应用推送实例:

接着为大家演示一个实际应用中的场景。这里就以前面说的Uptime Kuma举例说明,先创建一个Uptime Kuma的消息推送实例。

还没安装Uptime Kuma的小伙伴可以先安装:

https://post.smzdm.com/p/a8pnp7r7/

同样需要记下它的Token。

然后来到Uptime Kuma这边,先打开它的通知设置页面。

然后通知类型直接选择“Gotify”,应用程序令牌就是我们记下的Token,服务器URL这里需要说明下,这里只能填写我们做好反向代理的链接地址(反向代理推荐Lucky),而不能是我们局域网的IP:端口号了。完成后点“测试”按钮,提示成功就可以“保存”了。

可以看到Gotify这边也确实收到了Uptime Kuma那边的测试消息推送。

最后

Gotify作为一个实时的私人消息推送服务器,部署简单,使用方便,支持非常多的应用推送服务,喜欢的小伙伴可以试试吧!

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

0 阅读:0

俺是玩机小能手

简介:感谢大家的关注