From 73327d9a852808d591b64f35024bd375523ca7e5 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Sat, 1 Oct 2022 14:53:47 -0700 Subject: [PATCH] Add allowed fields. --- Service-Widgets.md | 67 +++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/Service-Widgets.md b/Service-Widgets.md index 0fed683..13a07d4 100644 --- a/Service-Widgets.md +++ b/Service-Widgets.md @@ -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: