Add allowed fields.

Jason Fischer
2022-10-01 14:53:47 -07:00
parent edcb7fb252
commit 73327d9a85

@@ -17,6 +17,21 @@ Using Emby as an example, this is how you would attach the Emby service widget.
key: st5XKXl8C0olqTHFPXNVCPIuU5bS6y
```
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
**In all cases a widget will work and display all fields without specifying the `fields` property.**
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
fields: ["wanted", "queued"]
url: http://sonarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
# Streaming Media Providers
@@ -24,7 +39,7 @@ Outgoing media streaming services, these widgets display current media informati
## Emby
You can create an API key from inside Emby at `Settings > Advanced > Api Keys`
You can create an API key from inside Emby at `Settings > Advanced > Api Keys`. Allowed fields: no configurable fields for this widget.
```yaml
widget:
@@ -36,7 +51,7 @@ widget:
## Jellyfin
You can create an API key from inside Jellyfin at `Settings > Advanced > Api Keys`.
You can create an API key from inside Jellyfin at `Settings > Advanced > Api Keys`. Allowed fields: no configurable fields for this widget.
```yaml
widget:
@@ -48,7 +63,7 @@ widget:
## Tautulli (Plex)
The Plex API is hard to work with and very segmented, to simplify integration, the Tautulli service is used instead. You can find the API key from inside Tautulli at `Settings > Web Interface > API`.
The Plex API is hard to work with and very segmented, to simplify integration, the Tautulli service is used instead. You can find the API key from inside Tautulli at `Settings > Web Interface > API`. Allowed fields: no configurable fields for this widget.
```yaml
widget:
@@ -64,7 +79,7 @@ This includes the `arr` range of utilities, as well as media request management
## Sonarr
Find your API key under `Settings > General`.
Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "series"]`.
```yaml
widget:
@@ -76,7 +91,7 @@ widget:
## Radarr
Find your API key under `Settings > General`.
Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "movies"]`.
```yaml
widget:
@@ -88,7 +103,7 @@ widget:
## Readarr
Find your API key under `Settings > General`.
Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "books"]`.
```yaml
widget:
@@ -100,7 +115,7 @@ widget:
## Ombi
Find your API key under `Settings > Configuration > General`.
Find your API key under `Settings > Configuration > General`. Allowed fields: `["pending", "approved", "available"]`.
```yaml
widget:
@@ -112,7 +127,7 @@ widget:
## Overseerr
Find your API key under `Settings > General > API Key`.
Find your API key under `Settings > General > API Key`. Allowed fields: `["pending", "approved", "available"]`.
```yaml
widget:
@@ -124,7 +139,7 @@ widget:
## Jellyseerr
Find your API key under `Settings > General > API Key`.
Find your API key under `Settings > General > API Key`. Allowed fields: `["pending", "approved", "available"]`.
```yaml
widget:
@@ -140,7 +155,7 @@ Download clients, like Usenet and BitTorrent, as well as their utility services
## Nzbget
This widget uses the same authentication method as your browser when logging in (HTTP Basic Auth), and is often referred to as the ControlUsername and ControlPassword inside of Nzbget documentation.
This widget uses the same authentication method as your browser when logging in (HTTP Basic Auth), and is often referred to as the ControlUsername and ControlPassword inside of Nzbget documentation. Allowed fields: `["rate", "remaining", "downloaded"]`.
```yaml
widget:
@@ -153,7 +168,7 @@ widget:
## SABnzbd
Find your API key under `Config > General > API Key`.
Find your API key under `Config > General > API Key`. Allowed fields: `["rate", "queue", "timeleft"]`.
```yaml
widget:
@@ -165,7 +180,7 @@ widget:
## ruTorrent
This requires the `httprpc` plugin to be installed and enabled, and is part of the default ruTorrent plugins. If you have not explicitly removed or disable this plugin, it should be available.
This requires the `httprpc` plugin to be installed and enabled, and is part of the default ruTorrent plugins. If you have not explicitly removed or disable this plugin, it should be available. Allowed fields: `["active", "upload", "download"]`.
```yaml
widget:
@@ -178,7 +193,7 @@ widget:
## qBittorrent
Uses the same username and password used to login from the web.
Uses the same username and password used to login from the web. Allowed fields: `["leech", "download", "seed", "upload"]`.
```yaml
widget:
@@ -191,7 +206,7 @@ widget:
## Transmission
Uses the same username and password used to login from the web.
Uses the same username and password used to login from the web. Allowed fields: `["leech", "download", "seed", "upload"]`.
```yaml
widget:
@@ -208,7 +223,7 @@ Includes things like proxy managers, DNS providers and network statistics.
## PiHole
PiHole does not require any authentication for the widget to work, as it uses the data that is exposed publicly.
PiHole does not require any authentication for the widget to work, as it uses the data that is exposed publicly. Allowed fields: `["queries", "blocked", "gravity"]`.
```yaml
widget:
@@ -220,7 +235,7 @@ widget:
## AdGuard Home
The username and password are the same as used to login to the web interface.
The username and password are the same as used to login to the web interface. Allowed fields: `["queries", "blocked", "filtered", "latency"]`.
```yaml
widget:
@@ -233,7 +248,7 @@ widget:
## Portainer
You'll need to make sure you have the correct environment set for the integration to work properly. From the Environments section inside of Portainer, click the one you'd like to connect to and observe the ID at the end of the URL (should be), something like `#!/endpoints/1`, here `1` is the value to set as the `env` value. In order to generate an API key, please follow the steps outlined here https://docs.portainer.io/api/access.
You'll need to make sure you have the correct environment set for the integration to work properly. From the Environments section inside of Portainer, click the one you'd like to connect to and observe the ID at the end of the URL (should be), something like `#!/endpoints/1`, here `1` is the value to set as the `env` value. In order to generate an API key, please follow the steps outlined here https://docs.portainer.io/api/access. Allowed fields: `["running", "stopped", "total"]`.
```yaml
widget:
@@ -246,7 +261,7 @@ widget:
## Traefik
No extra configuration is required.
No extra configuration is required. Allowed fields: `["routers", "services", "middleware"]`.
```yaml
widget:
@@ -257,7 +272,7 @@ widget:
## NGINX Proxy Manager
Login with the same admin username and password used to access the web UI.
Login with the same admin username and password used to access the web UI. Allowed fields: `["enabled", "disabled", "total"]`.
```yaml
widget:
@@ -270,7 +285,7 @@ widget:
## Speedtest Tracker
No extra configuration is required.
No extra configuration is required. Allowed fields: `["download", "upload", "ping"]`.
```yaml
widget:
@@ -281,7 +296,7 @@ widget:
## Syncthing Relay Server
Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/benphelps/homepage/pull/230#issuecomment-1253053472) for more information on configuration.
Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/benphelps/homepage/pull/230#issuecomment-1253053472) for more information on configuration. Allowed fields: `["numActiveSessions", "numConnections", "bytesProxied"]`.
```yaml
widget:
@@ -292,7 +307,9 @@ widget:
## Authentik
This widget reads the number of active Users in the system, as well as logins for the last 24 hours. You will need to generate an API token for an existing user. To do so follow these steps:
This widget reads the number of active users in the system, as well as logins for the last 24 hours. Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.
You will need to generate an API token for an existing user. To do so follow these steps:
1. Navigate to the Authentik Admin Portal
2. Expand Directory, the click Tokens & App passwords
@@ -314,7 +331,7 @@ System specific utilities and tools like message queues, databases, etc.
## Gotify
Get a Gotify client token from an existing client or create a new one on your Gotify admin page
Get a Gotify client token from an existing client or create a new one on your Gotify admin page. Allowed fields: `["apps", "clients", "messages"]`.
```yaml
widget:
@@ -331,7 +348,7 @@ Non service related items that display information from other sources, like stoc
## Mastodon
Use the base URL of the Mastodon instance you'd like to pull stats for. Does not require authentication as the stats are part of the public API endpoints.
Use the base URL of the Mastodon instance you'd like to pull stats for. Does not require authentication as the stats are part of the public API endpoints. Allowed fields: `["user_count", "status_count", "domain_count"]`.
```yaml
widget:
@@ -341,7 +358,7 @@ widget:
## Coin Market Cap
Get your API key from your [CoinMarketCap Pro Dashboard](https://pro.coinmarketcap.com/account).
Get your API key from your [CoinMarketCap Pro Dashboard](https://pro.coinmarketcap.com/account). Allowed fields: no configurable fields for this widget.
```yaml
widget: