本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

通过用户友好的API在网络中利用Apprise的功能。
Apprise API设计用于轻松集成到需要简单通知解决方案的现有(和新)生态系统中。
www-data(通常ID为33)读写配置文件。为避免出现“保存配置时出错”,建议将本地/var/lib/apprise/config权限设置如下:
# 创建用户/组(如不存在),ID为33 id 33 &>/dev/null || sudo useradd \ --system --no-create-home --shell /bin/false \ -u 33 -g 33 www-data # 安全设置目录权限,仅允许www-data组访问: sudo chmod 770 -R /var/lib/apprise/config sudo chown 33:33 -R /var/lib/apprise/config # 可选:将自己添加到组以查看内容 sudo usermod -a -G 33 $(whoami) # 可能需要登出并重新登录使上述设置生效,或临时执行: sudo su - $(whoami)
另一种简单(但不建议用于生产环境)的方法是设置目录完全读写权限:
# 授予本地配置目录完全权限 chmod 777 /var/lib/apprise/config
支持的架构:amd64、arm/v7和arm64。可用标签:
latest:指向最新稳定版本。edge:指向master分支的最新推送版本。📣 要触发通知,需先定义一个或多个Apprise URL以支持所需服务。Apprise目前支持100多种通知服务,并持续扩展。访问[***]
部分用户可能需要无需持久存储的辅助解决方案。以下API端点可直接发送通知到Apprise支持的服务,无需存储需求:
| 路径 | 方法 | 描述 |
|---|---|---|
/notify/ | POST | 向请求体中指定的URL或环境变量APPRISE_STATELESS_URLS中的URL发送一个或多个通知。请求体参数 📌 urls:一个或多个通知目标URL。如未指定,自动使用 settings.APPRISE_STATELESS_URLS或环境变量APPRISE_STATELESS_URLS的值。📌 body:消息内容,必填项。 📌 title:可选标题。 📌 type:消息类型,有效值: info、success、warning、failure。默认info。📌 format:文本格式,有效值: text、markdown、html。默认text。 |
以下是使用/notify/发送无状态通知的示例:
# 直接发送通知 curl -X POST -d 'urls=mailto://user:***&body=测试消息' \ http://localhost:8000/notify # 发送带附件的通知 curl -X POST \ -F 'urls=mailto://user:***' \ -F 'body=测试消息' \ -F attach=@Screenshot-1.png \ http://localhost:8000/notify # 发送多个附件,确保attach关键字唯一: curl -X POST \ -F 'urls=mailto://user:***' \ -F 'body=测试消息' \ -F attach1=@Screenshot-1.png \ -F attach2=@/my/path/to/Apprise.doc \ http://localhost:8000/notify curl -X POST -d 'urls=mailto://user:***&body=测试消息' \ -F @/path/to/your/attachment \ http://localhost:8000/notify # 使用JSON发送通知 curl -X POST -d '{"urls": "mailto://user:***", "body":"测试消息"}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify
您可预保存Apprise配置和/或URL集,并关联到自定义{KEY}。配置保存后,可通过appriseCLI工具或其他集成检索。内置Web界面提供用户友好的API调用方式,开发者也可使用以下端点:
| 路径 | 方法 | 描述 |
|---|---|---|
/add/{KEY} | POST | 将Apprise配置(或URL集)保存到持久存储。 请求体参数 📌 urls:一个或多个Apprise URL,用逗号和/或空格分隔。 📌 config:YAML或TEXT格式的Apprise配置内容。 📌 format:如指定 config参数则必填,有效值:text、yaml。如设置APPRISE_CONFIG_LOCK,此路径不可用。 |
/del/{KEY} | POST | 从持久存储删除Apprise配置。如设置APPRISE_CONFIG_LOCK,此路径不可用。 |
/get/{KEY} | POST | 从持久存储返回Apprise配置,可直接用于Apprise CLI和/或AppriseConfig()对象(详情)。如设置APPRISE_CONFIG_LOCK,此路径不可用。 |
/notify/{KEY} | POST | 向与{KEY}关联的所有端点发送通知。请求体参数 📌 body:消息内容,必填项。 📌 title:可选标题。 📌 type:消息类型,有效值: info、success、warning、failure。默认info。📌 tag:可选标签,仅通知带指定标签的服务。用逗号分隔表示“或”,空格分隔表示“与”。 📌 format:文本格式,有效值: text、markdown、html。默认text。 |
/json/urls/{KEY} | GET | 返回包含与{KEY}关联的所有URL和标签的JSON对象。 |
/details | GET | 设置Accept头为application/json,返回包含所有支持的Apprise URL的JSON对象。详情 |
/json/urls/{KEY}响应示例:
{ "tags": ["devops", "admin", "me"], "urls": [ { "url": "slack://TokenA/TokenB/TokenC", "tags": ["devops", "admin"] }, { "url": "***://WebhookID/WebhookToken", "tags": ["devops"] }, { "url": "mailto://user:***", "tags": ["me"] } ] }
可向/json/urls/{KEY}添加参数,如privacy=1隐藏密码和密钥,tag=按标签筛选结果(默认tag=all)。如设置APPRISE_CONFIG_LOCK,privacy=1始终生效,防止凭证泄露。
以下是使用curl向abc123发送通知的示例:
# 向{key}为'abc123'的配置发送通知 curl -X POST -d "body=测试消息" \ http://localhost:8000/notify/abc123 # 使用JSON发送 curl -X POST -d '{"body":"测试消息"}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify/abc123 # 发送附件: curl -X POST \ -F 'urls=mailto://user:***' \ -F 'body=测试消息' \ -F attach1=@Screenshot-1.png \ -F attach2=@/my/path/to/Apprise.doc \ http://localhost:8000/notify/abc123
🏷️ 可通过标签筛选通知。以下示例向abc123中标签为devops的服务发送通知:
# 向标签为'devops'的服务发送通知 curl -X POST -d 'tag=devops&body=测试消息' \ http://localhost:8000/notify/abc123 # 使用JSON发送 curl -X POST -d '{"tag":"devops", "body":"测试消息"}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify/abc123
标签是Apprise的核心功能之一,可将多个通知分组,为同一URL分配多个标签,并通过标签表达式触发。
| 示例 | 效果 |
|---|---|
| TagA | TagA |
| TagA, TagB | TagA 或 TagB |
| TagA TagC, TagB | (TagA 与 TagC)或 TagB |
| TagB TagC | TagB 与 TagC |
# "与"示例 # 向标签为'devops'和'after-hours'的服务发送通知 # 空格表示"与",也可用"+"代替 curl -X POST -d '{"tag":"devops after-hours", "body":"仓库 outage"}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify/abc123 # "或"示例 # 向标签为'dev'或'qa'的服务发送通知 # 逗号表示"或",逗号前后空格忽略 curl -X POST -d '{"tag":"dev, qa", "body":"bug #000123 重现 :("}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify/def456 # "与"和"或"组合示例 # 向标签为'leaders与teamA'或'leaders与teamB'的服务发送通知 curl -X POST -d '{"tag":"leaders teamA, leaders teamB", "body":"立即开会"}' \ -H "Content-Type: application/json" \ http://localhost:8000/notify/projectX
{KEY}长度为1-128字符,仅允许字母、数字、下划线(_)和连字符(-)。Content-Type: application/json使用JSON格式,默认application/x-www-form-urlencoded。/config),无额外依赖(如数据库)。环境变量可覆盖默认设置:
| 变量 | 描述 |
|---|---|
APPRISE_CONFIG_DIR | 配置文件持久存储路径。默认: - 使用Django manage runserver时:apprise_api/var/config;- 容器中: /config。 |
APPRISE_ATTACH_DIR | 上传附件存储路径。默认: - 使用Django manage runserver时:apprise_api/var/attach;- 容器中: /attach。 |
APPRISE_STATELESS_URLS | 无状态模式默认URL集,调用/notify时如未指定urls则使用。默认无值。 |
APPRISE_STATEFUL_MODE | 有状态模式,可选值: 📌 hash(默认):配置存储为哈希格式,便于索引和压缩; 📌 simple:配置直接写入磁盘,文件名为 {KEY}.cfg(TEXT)或{KEY}.yml(YAML);📌 disabled:禁用有状态存储,拒绝读写请求。 |
APPRISE_CONFIG_LOCK | 锁定配置,禁止删除/更新/访问有状态信息,但/notify仍可使用配置。设为yes启用,默认no。 |
APPRISE_DENY_SERVICES | 禁用的插件列表,逗号/空格分隔。指定一个 schema即可禁用整个插件。默认:windows, dbus, gnome, macos, syslog(阻止容器内本地操作)。如设置APPRISE_ALLOW_SERVICES,此变量忽略。 |
APPRISE_ALLOW_SERVICES | 允许的插件列表,逗号/空格分隔,仅字母数字。如设置,APPRISE_DENY_SERVICES忽略。 |
SECRET_KEY | Django安全盐值,用于哈希模式下配置文件的哈希序列。 |
ALLOWED_HOSTS | API可服务的主机/域名列表,空格分隔。默认*允许所有主机。 |
APPRISE_RECURSION_MAX | Apprise API服务器递归调用次数,用于apprise:// schema负载均衡。默认1。 |
APPRISE_WORKER_COUNT | 工作进程数,默认根据线程数计算。 |
BASE_URL | 代理后子路径访问API时的路径,默认未设置。 |
LOG_LEVEL | 日志级别,可选:CRITICAL、ERROR、WARNING、INFO、DEBUG。 |
DEBUG | 调试模式,设为yes启用,默认no。 |
首先安装Apprise:
# 安装apprise到环境 pip install apprise
从API拉取配置的场景
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429