前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Gotify来搭建你的消息推送系统

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

作者头像
huolong
发布2023-12-26 10:33:25
1.1K0
发布2023-12-26 10:33:25
举报
文章被收录于专栏:技术指北技术指北

通过消息推送,我们可以实时的获取有效的信息。比如结果,验证码以及一些重要的通知场景等。 今天要分享的是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是一个比较简单易用的推送消息服务器,上手简单,值得推荐。 创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023年12月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装gotify-server
  • 安装gotify-android
  • 发送消息测试
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档