Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions docs/customservices.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ Available services are located in `src/components/`:
- [Traefik](#traefik)
- [Transmission](#transmission)
- [TrueNas Scale](#truenas-scale)
- [UniFi](#unifi)
- [Uptime Kuma](#uptime-kuma)
- [Vaultwarden](#vaultwarden)
- [Wallabag](#wallabag)
Expand Down Expand Up @@ -754,6 +755,43 @@ Displays TrueNAS version.
api_token: "<---insert-api-key-here--->"
```

## UniFi

Displays information from your UniFi Network Controller including connected clients, access points, and other network devices. The service automatically handles UniFi's session-based authentication and CSRF protection.

```yaml
- name: "UniFi Controller"
logo: "assets/tools/sample.png"
url: "https://unifi.local:8443" # Your UniFi Controller URL
type: "Unifi"
auth: "username:password" # UniFi Controller credentials
site: "default" # Optional: UniFi site name (default: "default")
legacy: true # Optional: Use legacy /api/login endpoint (default: true)
updateInterval: 30000 # Optional: Refresh interval in milliseconds
target: "_blank" # Optional: HTML a tag target attribute
```

**Configuration Options:**

- `auth`: Required. UniFi Controller credentials in "username:password" format
- `site`: Optional. UniFi site name to monitor (default: "default")
- `legacy`: Optional. Set to `false` to use modern `/api/auth/login` endpoint instead of legacy `/api/login` (default: true)
- `updateInterval`: Optional. How often to refresh data in milliseconds (default: 30000)

**Supported UniFi Controllers:**

- UniFi Network Controller (self-hosted)
- UniFi Dream Machine (UDM/UDM Pro)
- UniFi Cloud Key

**Displayed Information:**

- **Connected Clients**: Total number of wireless and wired clients connected to the network
- **Access Points**: Number of UniFi access points (UAP devices)
- **Network Devices**: Number of other UniFi network devices (switches, gateways, etc.)

The service uses UniFi's standard API endpoints and maintains session cookies automatically. For UDM/UDM Pro devices, the service will automatically use the `/proxy/network` prefix when `udm: true` is configured.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

udm option is not listed in the configuration option


## Uptime Kuma

Displays overall status, uptime percentage, and incident information from your Uptime Kuma status page.
Expand Down
31 changes: 31 additions & 0 deletions dummy-data/unifi/api/auth/login
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"meta": {
"rc": "ok"
},
"data": [
{
"unique_id": "admin",
"first_name": "Administrator",
"last_name": "",
"full_name": "Administrator",
"email": "[email protected]",
"email_alert_enabled": false,
"email_alert_grouping_enabled": false,
"email_alert_grouping_delay": 60,
"push_alert_enabled": false,
"is_owner": true,
"time_created": 1234567890,
"last_login_ip": "192.168.1.100",
"last_login_time": 1640995200,
"ubic_uuid": "00000000-0000-0000-0000-000000000000",
"update_id": "5f9f1c1b0000000000000000",
"permissions": [
"admin"
],
"scopes": [
"admin:read",
"admin:write"
]
}
]
}
24 changes: 24 additions & 0 deletions dummy-data/unifi/api/login
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"meta": {
"rc": "ok"
},
"data": [
{
"unique_id": "admin",
"first_name": "Administrator",
"last_name": "",
"full_name": "Administrator",
"email": "[email protected]",
"email_alert_enabled": false,
"email_alert_grouping_enabled": false,
"email_alert_grouping_delay": 60,
"push_alert_enabled": false,
"is_owner": true,
"time_created": 1234567890,
"last_login_ip": "192.168.1.100",
"last_login_time": 1640995200,
"ubic_uuid": "00000000-0000-0000-0000-000000000000",
"update_id": "5f9f1c1b0000000000000000"
}
]
}
Loading