项目介绍
你鸿蒙手机装了 Hotify App,想让消息即使 App 没开也能推到锁屏。hotify-bridge 就是那个"中转"小程序——你把它跑在自己的 NAS / 服务器上,它把 Gotify 里的消息,经华为 Push Kit 推到你手机锁屏。
别人发消息 → Gotify(你自己的消息站)→【hotify-bridge】→ 华为 Push Kit → 你手机锁屏 🔔
桥不替代 Gotify——它从 Gotify 读消息再转推。所以 Gotify 和桥都要跑。
它可以让你的安卓备用机里的短信或者应用消息,通过你自己的服务器,推送到纯血鸿蒙设备上,当然也不局限于安卓设备,物联网设备,或者你的一些服务,只要支持gotify,都可以通过hotify推送到纯血鸿蒙上。具体的介绍可以看该项目仓库。
Hotify-bridge项目地址:https://gitee.com/sakura-lolipop/hotify-bridge
该项目基于Gotify:https://github.com/gotify/server
Gotify官网:https://gotify.net/
安卓端需安装SmsForwarder:https://github.com/pppscn/SmsForwarder
鸿蒙端需安装Hotify App:https://appgallery.huawei.com/app/detail?id=com.smgwy.hotify&channelId=SHARE&source=appshare
部署教程
1部署Gotify
不限制版本,需要中文汉化版可选https://club.fnnas.com/forum.php?mod=viewthread&tid=43035&highlight=
这里我选择原版,打开Docker镜像仓库搜索gotify/server,选择第一个下载,镜像标签选择latest。
原版创建容器时需加上以下两个变量:
GOTIFY_DEFAULTUSER_NAME: 用户名
GOTIFY_DEFAULTUSER_PASS: 密码
创建完成后,打开Gotify的web页面,注意,不支持https访问,需改成http,进入登录。

点击顶部第二个图标APPS(对应中文是应用),点击Create Application创建,名字自定义,点击create完成创建,复制好token备用。

同理,到Clients(对应中文是客户端)再创建一个,复制token备用。完成后一共有2个token。
2部署Hotify-bridge
打开该项目仓库,下载docker-compose.yml文件导入或者点开复制代码手动创建。建议使用最新版本(若更新的话)。
直接创建即可,可以根据提示修改端口号,其他地方可以不做修改,里面提到的.env是环境变量,后续会再创建时设置,不需要手动创建这个文件。
# docker-compose.yml —— hotify-bridge 容器编排(NAS / 自托管推荐)。
# 用法:把本文件放一个目录,docker compose up -d。
# 首启后去 ./data/bridge_config.yaml 填 gotify_token + cloud_function_urls,再 docker compose restart。
services:
hotify-bridge:
# 公开镜像。国内默认走阿里云 ACR(ghcr.io 被墙拉不动);海外或能连 ghcr 换 GHCR 那行。
image: crpi-gi2hyqoir87c0lus.cn-hangzhou.personal.cr.aliyuncs.com/sakura-lolipop/hotify-bridge:latest
# image: ghcr.io/sakura-lolipop/hotify-bridge:latest # 海外用这个
# build: . # 本地 docker build(用仓根 Dockerfile)
container_name: hotify-bridge
restart: unless-stopped
# Gotify 配置走环境变量(免 SSH 编辑 bridge_config.yaml)。值从同目录 .env 读(.env 不入库)。
# 两个都留空也行(等 App 上报)。bridge_config.yaml 仍会 seed,但 env 优先填 gotify 两项。
environment:
GOTIFY_HTTP_URL: ${GOTIFY_HTTP_URL:-}
GOTIFY_CLIENT_TOKEN: ${GOTIFY_CLIENT_TOKEN:-}
# /register 端口。左侧是宿主机端口(App 上报 push token 走这),右侧容器内固定 8080。
# 要改宿主端口改左侧即可;想改容器内端口→bridge_config.yaml 设 register_port 并把右侧一起改。
ports:
- "8080:8080"
# 状态持久化:bridge_config.yaml / push_tokens.json / subscribe_status.json 都落 /data。
# ./data 是宿主机目录(compose 文件旁边自建),首启自动生成带注释的 bridge_config.yaml。
volumes:
- ./data:/data
# ── Gotify 寻址(容器里 127.0.0.1 = 容器自己,不是宿主/gotify!必看 README「Docker」节)──
#
# A) Gotify 在【同机另一容器】:把它们放同一 docker network,bridge_config.yaml 填
# gotify_url: http://<gotify 容器名>:<端口> (例:http://gotify:80)
# 本 compose 没建自定义 network;如要跨容器互访,加 networks: 自定义网或把 gotify 也 compose 起来共享。
#
# B) Gotify 在【宿主机】(非容器,或 host 网络模式):放开下面 extra_hosts,让容器能寻址宿主;
# bridge_config.yaml 填 gotify_url: http://host.docker.internal:<端口>
# extra_hosts:
# - "host.docker.internal:host-gateway"
#
# C) Gotify 在【远程/域名】:直接 bridge_config.yaml 填完整 https URL,无需本节特殊处理。
创建完成后,启动完成创建容器,再止该容器运行,设置该容器的环境变量。
GOTIFY_CLIENT_TOKEN填Client的token(不要填错,不是APPS的token!)
GOTIFY_HTTP_URL填之前部署的Gotify的网址(填本地的注意开头是http,进行反代的则无所谓)
然后保存,启动容器。
注意,开发者没有做web页面,打开404是正常的!

3配置移动端
鸿蒙端
打开Hotify,进入设置,点击顶部的订阅通知转发(不订阅则没有弹窗提醒,但应用内可以显示通知),然后添加服务器,Gotify Token是Client Token,Hotify推送服务地址填上面部署完成后的,填本地的则只能局域网内使用,进行反代等处理后,公网环境也可以使用,填写完测试连接,通过则保存,反之检查下是不是哪里填错了。
回到首页,顶部应该是绿色或**字体的实时,**表示有问题但不影响使用,具体故障原因可能是Gotify兼容问题?有解决办法的欢迎留言。

安卓端
安装短信转发器(smsforwarder)和Gotify App(可选,非必须)
打开短信转发器,点开 发送通道---右上角+号---选择Gotify
通道名称自定义,WebServer示例:https://这里填你部署的gotify的网址/message?token=这里填APPS的token
标题模板 选择 APP应用名(不填的话推送显示的是APP包名),测试查看鸿蒙端是否有弹窗或者Hotify里是否有该消息(没有弹窗请检查WebServer里的网站或者token填写是否正确,容器Hotify-bridge里的token或者URL填写是否正确)

测试通过后,点开 转发规则,可参考以下模版。

最终鸿蒙端接收通知的效果,和普通应用应该是一样的,参考下图。

束语
我不是这个项目的开发者,这是我无意中发现,研究部署后,发现效果很不错,而且很适合家里有NAS的用户,随时随地,不限制网络,都能收到备用机的短信和应用通知,还接入华为push kit推送,应用不在后台都能接收推送,加上飞牛NAS用户里,鸿蒙用户也挺多的,所以来做个简单的教程,推荐一下这个项目!
其实Docker部署是开发者后加的,开发者说他对Docker了解不多,所以可能使用Docker部署bug会比较多,有能力的建议按推荐的方式部署。
关于隐私问题,若不使用Hotify-bridge,也可以使用,就相当于Gotify,没有推送服务,信息走的是你的服务器,需要推送服务,就得部署Hotify-bridge,推送走开发者的服务器,这是因为华为push kit不开放给个人,只有开发者可以使用,所以使用时,开发者建议走https加密,不要明文传输。
每条消息前都有“订阅”两字,是华为那边对于这类软件的强制要求,必须加,不然无法上架应用商店。
Hotify App和Hotify-bridge目前有些bug,还在修,不过现在的完成度,也挺不错的。