0

Gotify安装配置教程

2022.12.16 | vance | 4140次围观

1. Gotify 介绍


    Gotify 是基于 Go 语言开发的一款简易发送和接受消息的开源软件。包含自带 webUI 的服务器端,Android 端,命令行工具。


    官网地址:https://gotify.net/




    Gotify 可以通过 REST-API 简单地进行控制和推送消息。在 Gotify 里有应用 (APPlications) 和客户端 (Clients) 两种角色:


    应用只可以推送消息,


    而客户端,包括网页端和手机端可以更改设置,推送和阅读消息。




    在 iOS 端有 bark 这样简单方便的推送应用,而在 Android 端由于国内推送混乱,如果需要自己搭建推送,Gotify 是一个不错的解决方案。






2. Gotify 安装


    官方给出了两种安装方式:基于 Docker 安装和基于二进制源文件安装。由于官方推荐和源文件需要编译等麻烦的原因,在这里就以在 Ubuntu 服务器上基于 Docker 安装为例。


    如果不想要自己搭建服务器端的朋友可以使用由 unifiedpush 提供的可以免费注册的 Gotify 发行版本:https://gotify1.unifiedpush.org。但是考虑到公告服务器负载和数据安全,还是推荐在自己的服务器上部署。




2.1 Docker 安装


    Docker 的安装推荐使用 Docker 官网的安装脚本,非常方便。代码如下:


curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh get-docker.sh



2.2 Docker 安装 Gotify 镜像


    我们需要安装的是 Gotify 的服务器端,通过 Docker 拉取镜像。


sudo docker pull gotify/server



2.3 配置 Gotify


    Gotify 官网上给出了几种配置的方式,格式和方法可以参考:


        https://gotify.net/docs/config。


    我们在这里使用 Docker 环境变量来配置 Gotify。我们先需要在当前目录创建 env.list 文件。格式如下:


GOTIFY_SERVER_PORT=80 # 端口号

GOTIFY_SERVER_KEEPALIVEPERIODSECONDS=0

GOTIFY_SERVER_LISTENADDR=

GOTIFY_SERVER_SSL_ENABLED=false # 不使用SSL

GOTIFY_SERVER_SSL_REDIRECTTOHTTPS=true

GOTIFY_SERVER_SSL_LISTENADDR=

GOTIFY_SERVER_SSL_PORT=443 # HTTPS端口号

GOTIFY_SERVER_SSL_CERTFILE= # 公钥路径

GOTIFY_SERVER_SSL_CERTKEY= # 私钥路径

GOTIFY_SERVER_SSL_LETSENCRYPT_ENABLED=false

GOTIFY_SERVER_SSL_LETSENCRYPT_ACCEPTTOS=false

GOTIFY_SERVER_SSL_LETSENCRYPT_CACHE=certs

# lists are a little weird but do-able (:

# GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS=- mydomain.tld\n- myotherdomain.tld

GOTIFY_SERVER_RESPONSEHEADERS="X-Custom-Header: \"custom value\""

# GOTIFY_SERVER_CORS_ALLOWORIGINS="- \".+.example.com\"\n- \"otherdomain.com\""

# GOTIFY_SERVER_CORS_ALLOWMETHODS="- \"GET\"\n- \"POST\""

# GOTIFY_SERVER_CORS_ALLOWHEADERS="- \"Authorization\"\n- \"content-type\""

# GOTIFY_SERVER_STREAM_ALLOWEDORIGINS="- \".+.example.com\"\n- \"otherdomain.com\""

GOTIFY_SERVER_STREAM_PINGPERIODSECONDS=45

GOTIFY_DATABASE_DIALECT=sqlite3

GOTIFY_DATABASE_CONNECTION=data/gotify.db

GOTIFY_DEFAULTUSER_NAME=admin # 初始默认账户

GOTIFY_DEFAULTUSER_PASS=admin # 初始默认密码

GOTIFY_PASSSTRENGTH=10

GOTIFY_UPLOADEDIMAGESDIR=data/images

GOTIFY_PLUGINSDIR=data/plugins

    我们需要修改的地方不多,如果需要使用 SSL,注意 Gotify 的路径为 /var/gotify/,还有相应公钥和私钥路径在使用相对路径时的位置。




2.4 启动 Gotify 服务


    使用 Docker 启动 Gotify 服务,使用 env.list 中的配置项方法如下:


nohup sudo docker run --env-file ./env.list -p 80:80 -v /var/gotify/data:/app/data gotify/server &



2.5 查看和停止 Gotify 服务   


     查看 Docker 服务:


sudo docker ps

    根据显示出来的 Gotify 对应 CONTAINER ID,可以停止 Gotify。


sudo docker kill xxxxxxxx # 容器ID





3. 登录 Gotify 


    安装、配置、运行成功后,输入网址和端口,就会出现下面的登录页面。


登录页面

    第一次登录时用户名和密码为上面的默认用户,如果没有在配置中修改的话,默认用户名为 admin,密码为 admin。注意登录后立即更改密码。



image.png



4. 使用 Gotify



4.1 新建应用 (APP)

image.png


右上角切换至应用界面

    点击 CREATE APPLICATION 创建应用,成功后可以得到令牌 (Token)。在其他应用中使用 Gotify 传输消息时就要使用到这个 Token。




4.2 推送消息


    在这里可以使用 Gotify 的 API 进行消息推送,参考:https://gotify.net/docs/pushmsg。


    Gotify 支持 Text 文本和 Markdown 文本。


    推送消息的网址为:


https://网址:端口/message?token=令牌 # 替换相应内容


    推送的数据格式例子:


{

"message": "消息内容",

"priority": 8,

"title": "标题",

"extras": {

"client::display": {

"contentType": "text/plain"

}

}

 }

    注意这里的 priority 越大,消息提醒优先级越高。对应在 Android 端的提醒会越明显。如果消息推送成功,在网页端也会收到该消息。



5. 手机端应用


    Gotify 提供免费的 Android 应用,可以在官网下载 APK 安装,https://gotify.net/。


手机端应用

    输入用户名和密码,就可以看到推送消息了。手机端也可以发送消息。 作者:透明的雨音 https://www.bilibili.com/read/cv13016664 出处:bilibili


分享:

扫一扫在手机阅读、分享本文

发表评论
微信客服

微信客服