跳到主要内容

使用 Unraid API

Unraid API 提供了一个 GraphQL 接口,允许您与您的 Unraid 服务器进行交互。本指南涵盖身份验证、常见查询和使用模式。

启用 GraphQL 沙盒

WebGUI 方法(推荐)

📖 实时文档

查看完整的 API 架构和文档:

在 Apollo GraphQL Studio 中查看实时文档 →

使用Web GUI是启用GraphQL沙盒最简单的方式。

WebGUI 方法(推荐)

使用 WebGUI 是启用 GraphQL 沙盒最简单的方法:

  1. 导航到 设置 → 管理访问 → 开发者选项

  2. 启用 GraphQL 沙盒 开关

  3. 通过导航到以下位置访问 GraphQL playground:

    http://YOUR_SERVER_IP/graphql

CLI 方法

或者,您可以使用 CLI 启用开发者模式:

unraid-api developer --sandbox true

或使用交互模式:

unraid-api developer

身份验证

大多数查询和变更需要认证。请务必在请求中包含适当的凭据。

  1. API 密钥 - 对编程访问来说
  2. Cookies - 在登录 WebGUI 时自动
  3. SSO/OIDC - 配置为与外部提供商一起使用时

管理 API 密钥

导航到 Unraid WebGUI 中的 设置 → 管理访问 → API 密钥

  • 查看现有 API 密钥.
  • 创建新的 API 密钥.
  • 管理权限和角色.
  • 撤销或重新生成密钥.

API 密钥管理

生成的 API 密钥应作为标头包含在您的 GraphQL 请求中。

{
"x-api-key": "YOUR_API_KEY"
}

可用架构

API 提供对 Unraid 服务器各个方面的访问:

  • 系统信息:查询系统详情,包括 CPU、内存和 OS 信息;监控系统状态和健康状况;访问主板和硬件信息。
  • Array 管理:查询 array 状态和配置;管理 array 操作(启动/停止);监控磁盘状态和健康状况;执行 parity checks。有关阵列操作的更多信息,请参阅 阵列概览
  • Docker 管理:列出并管理 Docker 容器;监控容器状态;管理 Docker 网络。
  • 远程访问:配置并管理远程访问设置;处理 SSO 配置;管理允许的来源。

系统信息

系统信息

query {
info {
os {
platform
distro
release
uptime
}
cpu {
manufacturer
brand
cores
threads
}
}
}

阵列管理

query {
array {
state
capacity {
disks {
free
used
total
}
}
disks {
name
size
status
temp
}
}
}

Docker 管理

query {
dockerContainers {
id
names
state
status
autoStart
}
}

远程访问

API 包含若干核心类型。基础类型包括 Node(用于具有唯一 ID 的对象的接口;参见 对象标识)、JSON(用于复杂 JSON 数据)、DateTime(用于时间戳值)和 Long(用于 64 位整数)。资源类型包括 Arrayarray 和磁盘管理)、Docker(容器和网络管理)、Info(系统信息)、Config(服务器配置)和 Connect(远程访问设置)。可用角色有 admin(完全访问)、connect(远程访问功能)和 guest(受限读取访问)。

检查系统状态

Pro 提示
  1. 使用 Apollo GraphQL Studio 查看并浏览完整的 API 架构和文档
  2. 从小查询开始,逐渐按需添加字段
  3. 监控您的查询复杂度以保持性能
  4. 对于您的 API 密钥,使用适当的角色和权限
  5. 保持您的 API 密钥安全并定期更换

列出 Docker 容器

Rate 限制

API 实施了速率限制以防止滥用。确保您的应用程序适当地处理速率限制响应。

API 以以下格式返回标准的 GraphQL 错误:

{
"errors": [
{
"message": "Error description",
"locations": [...],
"path": [...]
}
]
}

资源类型

Learn 更多
  • 使用 Apollo GraphQL Studio 查看完整的 API 架构和文档
  • 使用 Apollo Sandbox 的模式浏览器浏览所有可用类型和字段
  • 查看 Apollo Sandbox 中的文档选项卡以获取详细的字段描述
  • 使用 unraid-api status 监控 API 的健康状况
  • 使用 unraid-api report 生成报告以进行故障排除

有关具体命令和配置选项的更多信息,请参阅 CLI 文档 或运行 unraid-api --help。如果遇到问题,请访问 Unraid 论坛 获取社区支持。