You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before Submitting This PR, Please Ensure You Have Completed The
Following:
1. [ ] Are internal links to wiki documents using [relative file
links](https://docusaurus.io/docs/markdown-features/links)?
2. [ ] Are all new documentation files lowercase, with dash separated
names (ex. unraid-os.mdx)?
3. [ ] Are all assets (images, etc), located in an assets/ subfolder
next to the .md/mdx files?
4. [ ] Have you checked to ensure there aren't other open [Pull
Requests](../../../pulls) for the same update/change?
5. [ ] Is the build succeeding?
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Documentation
- Expanded guidance across API, storage (ZFS, arrays, cache pools,
filesystems), security (SSL, encryption, WoL), networking (WireGuard,
Tailscale), Docker, VMs, troubleshooting, and diagnostics.
- Added numerous tips, cautions, best practices, timing notes, and
step-by-step examples; clarified workflows (e.g., Time Machine setup,
parity checks, filesystem repairs).
- Improved structure, formatting, and images; updated localization
content (DE/ES/FR/ZH) with refinements and some removals.
- Chores
- CI enhancement: automated formatter autofix before lint, change
detection and notifications for forks, optional auto-commit/push of
fixes, full-history checkout, and conditional lint skipping on closed
PRs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
echo "::warning::Format fixes were generated but cannot be pushed automatically for pull requests from forks. Please run 'npm run format' locally and push the changes."
Copy file name to clipboardExpand all lines: docs/API/cli.mdx
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,9 @@ sidebar_position: 4
7
7
# CLI Commands
8
8
9
9
:::info[Command Structure]
10
+
10
11
All commands follow the pattern: `unraid-api <command> [options]`
12
+
11
13
:::
12
14
13
15
## 🚀 Service Management
@@ -91,7 +93,9 @@ Switch between production and staging environments.
91
93
### Developer Mode
92
94
93
95
:::tip[Web GUI Management]
96
+
94
97
You can also manage developer options through the web interface at **Settings** → **Management Access** → **Developer Options**
98
+
95
99
:::
96
100
97
101
```bash
@@ -110,7 +114,9 @@ Configure developer features for the API:
110
114
## API Key Management
111
115
112
116
:::tip[Web GUI Management]
117
+
113
118
You can also manage API keys through the web interface at **Settings** → **Management Access** → **API Keys**
119
+
114
120
:::
115
121
116
122
### API Key Commands
@@ -132,7 +138,9 @@ Options:
132
138
## SSO (Single Sign-On) Management
133
139
134
140
:::info[OIDC Configuration]
141
+
135
142
For OIDC/SSO provider configuration, see the web interface at **Settings** → **Management Access** → **API** → **OIDC** or refer to the [OIDC Provider Setup](./oidc-provider-setup.mdx) guide.
Copy file name to clipboardExpand all lines: docs/API/how-to-use-the-api.mdx
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,9 @@ import ManageApiKeysCli from './partials/manage-api-keys-cli.mdx';
12
12
# Using the Unraid API
13
13
14
14
:::tip[Quick Start]
15
+
15
16
The Unraid API provides a powerful GraphQL interface for managing your server. This guide covers authentication, common queries, and best practices.
17
+
16
18
:::
17
19
18
20
The Unraid API provides a GraphQL interface that allows you to interact with your Unraid server. This guide will help you get started with exploring and using the API.
@@ -22,7 +24,9 @@ The Unraid API provides a GraphQL interface that allows you to interact with you
22
24
### Web GUI Method (Recommended)
23
25
24
26
:::info[Preferred Method]
27
+
25
28
Using the Web GUI is the easiest way to enable the GraphQL sandbox.
29
+
26
30
:::
27
31
28
32
1. Navigate to **Settings** → **Management Access** → **Developer Options**
@@ -50,7 +54,9 @@ unraid-api developer
50
54
## 🔑 Authentication
51
55
52
56
:::warning[Required for Most Operations]
57
+
53
58
Most queries and mutations require authentication. Always include appropriate credentials in your requests.
59
+
54
60
:::
55
61
56
62
You can authenticate using:
@@ -200,17 +206,21 @@ Available roles:
200
206
## ✨ Best Practices
201
207
202
208
:::tip[Pro Tips]
209
+
203
210
1. Use the Apollo Sandbox to explore the schema and test queries
204
211
2. Start with small queries and gradually add fields as needed
205
212
3. Monitor your query complexity to maintain performance
206
213
4. Use appropriate roles and permissions for your API keys
207
214
5. Keep your API keys secure and rotate them periodically
215
+
208
216
:::
209
217
210
218
## ⏱️ Rate Limiting
211
219
212
220
:::caution[Rate Limits]
221
+
213
222
The API implements rate limiting to prevent abuse. Ensure your applications handle rate limit responses appropriately.
223
+
214
224
:::
215
225
216
226
## 🚨 Error Handling
@@ -232,10 +242,12 @@ The API returns standard GraphQL errors in the following format:
232
242
## 📚 Additional Resources
233
243
234
244
:::info[Learn More]
245
+
235
246
- Use the Apollo Sandbox's schema explorer to browse all available types and fields
236
247
- Check the documentation tab in Apollo Sandbox for detailed field descriptions
237
248
- Monitor the API's health using `unraid-api status`
238
249
- Generate reports using `unraid-api report` for troubleshooting
239
250
240
251
For more information about specific commands and configuration options, refer to the [CLI documentation](cli.mdx) or run `unraid-api --help`.
Copy file name to clipboardExpand all lines: docs/API/index.mdx
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,9 @@ import GetStartedPre72 from './partials/get-started-pre72.mdx';
13
13
# Welcome to Unraid API
14
14
15
15
:::tip[What's New]
16
+
16
17
Starting with Unraid OS v7.2, the API comes built into the operating system - no plugin installation required!
18
+
17
19
:::
18
20
19
21
The Unraid API provides a GraphQL interface for programmatic interaction with your Unraid server. It enables automation, monitoring, and integration capabilities.
@@ -38,34 +40,45 @@ For Unraid versions prior to v7.2 or to access newer API features:
38
40
3. Access API functionality through the [GraphQL Sandbox](./how-to-use-the-api.mdx)
39
41
40
42
:::info[Important Notes]
43
+
41
44
- The Unraid Connect plugin provides the API for pre-7.2 versions
42
45
- You do NOT need to sign in to Unraid Connect to use the API locally
43
46
- Installing the plugin on 7.2+ gives you access to newer API features before they're included in OS releases
Copy file name to clipboardExpand all lines: docs/API/oidc-provider-setup.mdx
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,9 @@ sidebar_position: 3
7
7
# OIDC Provider Setup
8
8
9
9
:::info[What is OIDC?]
10
+
10
11
OpenID Connect (OIDC) is an authentication protocol that allows users to sign in using their existing accounts from providers like Google, Microsoft, or your corporate identity provider. It enables Single Sign-On (SSO) for seamless and secure authentication.
12
+
11
13
:::
12
14
13
15
This guide walks you through configuring OIDC (OpenID Connect) providers for SSO authentication in the Unraid API using the web interface.
@@ -20,6 +22,7 @@ This guide walks you through configuring OIDC (OpenID Connect) providers for SSO
20
22
1. Navigate to your Unraid server's web interface
21
23
2. Go to **Settings** → **Management Access** → **API** → **OIDC**
22
24
3. You'll see tabs for different providers - click the **+** button to add a new provider
25
+
23
26
</details>
24
27
25
28
### OIDC Providers Interface Overview
@@ -69,6 +72,7 @@ Simple mode is the easiest way to configure authorization. You can:
69
72
- You want to verify multiple claims (e.g., email domain AND verified status)
70
73
- You have complex authorization requirements
71
74
- You need fine-grained control over how rules are evaluated
75
+
72
76
</details>
73
77
74
78
## Authorization Rules
@@ -149,6 +153,7 @@ In Simple Authorization:
149
153
- Email must be verified
150
154
- User must be in specific group
151
155
- Account must have 2FA enabled (if claim available)
156
+
152
157
</details>
153
158
154
159
<details>
@@ -191,20 +196,25 @@ In Simple Authorization:
191
196
-**Enable Developer Sandbox**: Toggle to enable GraphQL sandbox at `/graphql`
192
197
- The interface uses a dark theme for better visibility
193
198
- Field validation indicators help ensure correct configuration
199
+
194
200
</details>
195
201
196
202
### Required Redirect URI
197
203
198
204
:::caution[Important Configuration]
205
+
199
206
All providers must be configured with this exact redirect URI format:
**Match the protocol to your server setup:** Use `http://` if accessing your Unraid server without SSL/TLS (typical for local network access). Use `https://` if you've configured SSL/TLS on your server. Some OIDC providers (like Google) require HTTPS and won't accept HTTP redirect URIs.
321
+
310
322
:::
311
323
312
324
Configure authorization rules using Simple Mode (allowed email domains/addresses) or Advanced Mode for complex requirements.
**Google requires valid domain names for OAuth redirect URIs.** Local IP addresses and `.local` domains are not accepted. To use Google OAuth with your Unraid server, you'll need:
337
351
338
352
-**Option 1: Reverse Proxy** - Set up a reverse proxy (like NGINX Proxy Manager or Traefik) with a valid domain name pointing to your Unraid API
339
353
-**Option 2: Tailscale** - Use Tailscale to get a valid `*.ts.net` domain that Google will accept
340
354
-**Option 3: Dynamic DNS** - Use a DDNS service to get a public domain name for your server
341
355
342
356
Remember to update your redirect URI in both Google Cloud Console and your Unraid OIDC configuration to use the valid domain.
357
+
343
358
:::
344
359
345
360
For Google Workspace domains, use Advanced Mode with the `hd` claim to restrict access to your organization's domain.
0 commit comments