使用Gotify来搭建你的消息推送系统

通过消息推送,我们可以实时的获取有效的信息。比如结果,验证码以及一些重要的通知场景等。 今天要分享的是gotify,是一个用go编写的消息服务端,也有客户端,通过gotify我们可以简单的进行收发消息。github地址将会在文末展示。

gotify支持的功能如下

  1. 可以通过restapi发送消息
  2. 可以通过websocket接收消息
  3. 可以管理用户和客户端以及应用程序
  4. 只会插件
  5. 有web ui页面
  6. 有用于发送消息的cli (命令行页面)
  7. 支持android系统 不支持ios 今天我们来介绍一下,常规的gotify如何安装以及使用。前提条件是需要一台有公网的服务器来部署gotify-server 以及安装好docker-compose。话不多说,我们直接开搞

安装gotify-server

在你的服务器上创建一个目录,在目录里面执行 vim docker-compose.yml ,然后在yml文件里复制以下内容

代码语言:javascript
复制
version: "3"

services:
gotify:
image: gotify/server
ports:

  • 80:80 #可以自定义要映射的端口
    environment:
  • GOTIFY_DEFAULTUSER_PASS=customer #你的管理员密码 管理员账号admin
    volumes:
  • "./gotify_data:/app/data"

在当前目录执行 docker-compose up -d 。当容器启动后,我们直接在浏览器上输入 http://ip:port 来访问。如果无法打开前台,请检查防火墙相关配置。输入管理员账号和密码后。gotify-server就搭建完成了。

在首页,点击app,然后新建一个APP,记好token,这个是我们后续重要的凭证。

到这一步,gotify-server的基础配置就已经完成了。搭建完之后我们最好进行反向代理,通过域名的方式来访问,这里只是作为演示就不反代了。你可以使用npm、宝塔、或者certbot来进行反代,在这里就不再多介绍了。

接着我们就需要安装gotify-android了

安装gotify-android

访问 https://github.com/gotify/android/releases/download/v2.7.1/Gotify.apk 我们将这个apk下载好,在要接收消息的android手机上安装即可。安装包仅仅5.8MB

安装好后启动app,我们输入对应的server地址,以及用户名和密码,然后登录就行

到这一步,我们要接收消息的客户端也安装好了。

发送消息测试

这是官方的curl示例。我们只需要在一个终端环境发送curl请求即可。 curl "https://push.example.de/message?token=CgwhLcjxGQSkzdd" -F "title=my title" -F "message=my message" -F "priority=5" 将对应的域名,token,以及想发送的标题,内容都替换成自己的即可。
这里要注意的是token是app的token,而不是client的token 发送成功之后,app内就会收到最新的消息,而且也会收到对应的消息push。

总体而言,gotify是一个比较简单易用的推送消息服务器,上手简单,值得推荐。 创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。