Emby (amilys) 对接 Gotify 通知
1 📄 Emby (amilys/emby) 对接 Gotify 通知
简介
在部署自动化媒体入库流程,使用过程中发现无法感知订阅影视最新集入库时间、入库整理情况等等,决定对接已有的gotify容器,实现入库消息通知。一开始想的是使用官方webhook实现,搜索了下发现有已开发的emby-gotify插件,于是转为插件实现。
1.1 文档说明
-
适用场景:为
amilys/embyDocker 容器配置 Gotify 推送通知,使 Emby 的服务器事件(如播放、重启等)能实时推送到手机。 -
环境前提:
-
已部署并运行 Gotify 服务端(版本 2.9.1 或以上),且能通过
http://gotify:80(容器内网)访问。 -
Gotify 网页端已为 Emby 创建好应用(Application),并获取到对应的 Token。
-
Emby 版本为 4.7.14.0(此文档基于此版本,其他版本可能需调整插件版本)。
-
1.2 下载与安装 Gotify 插件
由于 Emby 官方插件库中此插件版本可能不兼容,我们需要手动下载并安装适用于 Emby 4.7.x 的旧版插件。
步骤 2.1:获取插件文件
从可靠来源(如 GitHub Releases)下载 MediaBrowser.Plugins.GotifyNotifications.dll 文件,确保版本适用于 Emby 4.7.x(例如 Version 1.0.0.0)。
步骤 2.2:放置插件文件
-
通过 SSH 进入群晖,或使用 File Station 导航到 Emby 的配置目录:
/docker/emby/config/plugins -
将下载好的
.dll文件复制到此目录中。
步骤 2.3:修改文件权限
通过 SSH 连接到群晖,进入插件目录,并修改文件所有者和权限,确保 Emby 服务可以读取。
# 进入插件目录
cd /docker/emby/config/plugins
# 确认文件存在
ls -la MediaBrowser.Plugins.GotifyNotifications.dll
# 修改文件所有者(根据你的 Emby 容器运行用户而定,常见为 emby 或 abc)
chown emby:emby MediaBrowser.Plugins.GotifyNotifications.dll
# 赋予读写执行权限
chmod 755 MediaBrowser.Plugins.GotifyNotifications.dll
步骤 2.4:重启 Emby 容器
在 Docker 或 Portainer 中重启 emby 容器,使插件生效。
docker restart emby
1.3 验证插件安装
-
登录 Emby 管理后台(Web 界面)。
-
导航至 “高级” → “插件”。
-
在 “我的插件” 列表中,应能看到 “Gotify Notifications” 及其版本号。
-
查看 Emby 日志(
docker/emby/config/logs),应出现类似Loading MediaBrowser.Plugins.GotifyNotifications的日志,表示加载成功。
1.4 配置 Gotify 通知渠道
插件安装成功后,需要为用户启用 Gotify 通知。
-
在 Emby 管理后台,点击右上角用户头像,选择 “用户设置”。
-
在左侧菜单中,找到并点击 “通知”。
-
点击 “+ 添加通知” 按钮。
-
在 “通知类型” 下拉菜单中,选择 “Gotify”。
-
填写配置信息:
-
服务器 URL:
http://gotify:80(使用容器名,走内网通信,稳定高效)。 -
应用令牌 (Token):粘贴你之前在 Gotify 网页端为 Emby 应用生成的 Token。
-
-
点击 “保存”。
1.5 测试通知
-
在刚刚创建好的 Gotify 通知条目右侧,点击 “发送测试通知” 按钮。
-
检查你的手机 Gotify(或 iGotify)App,应能收到一条来自 Emby 的测试消息。
-
如果未收到,检查 Emby 日志中的错误信息,或确认 Gotify 服务是否运行正常。
1.6 故障排查参考
| 问题现象 | 可能原因与解决方案 |
|---|---|
| 文件放置后插件不显示 | 1. 权限不足:SSH 执行 chown 和 chmod 命令。 2. 路径错误:确保 .dll 在 plugins 目录根下。 3. 未重启容器。 |
| 加载插件时出现 LoaderException | 插件版本与 Emby 核心版本不兼容。需寻找匹配 Emby 版本的插件文件,或升级 Emby。 |
| 测试通知发送失败 | 1. 服务器 URL 填写有误:检查是否正确使用容器名 gotify。 2. Token 错误:确认是否使用了 Gotify “Apps” 而非 “Clients” 的 Token。 3. 网络不通:进入 Emby 容器 ping gotify 测试连通性。 |