From 1102ef08cd1d4530c8973d2c00a5ed12249867c1 Mon Sep 17 00:00:00 2001
From: Manuel <30572287+manuel-rw@users.noreply.github.com>
Date: Wed, 1 Jul 2026 18:49:13 +0200
Subject: [PATCH] docs: add docs details
---
.../docs/integrations/adguard-home/index.mdx | 5 +++++
.../docs/integrations/adguard-home/index.ts | 1 +
apps/docs/docs/integrations/anchor/index.mdx | 5 +++++
apps/docs/docs/integrations/anchor/index.ts | 1 +
.../archiveteam-warrior/index.mdx | 5 +++++
.../integrations/archiveteam-warrior/index.ts | 1 +
apps/docs/docs/integrations/aria2/index.mdx | 5 +++++
apps/docs/docs/integrations/aria2/index.ts | 1 +
.../integrations/audiobookshelf/index.mdx | 5 +++++
.../docs/integrations/audiobookshelf/index.ts | 1 +
apps/docs/docs/integrations/beszel/index.mdx | 5 +++++
apps/docs/docs/integrations/beszel/index.ts | 1 +
.../docs/docs/integrations/codeberg/index.mdx | 5 +++++
apps/docs/docs/integrations/codeberg/index.ts | 1 +
apps/docs/docs/integrations/coolify/index.mdx | 5 +++++
apps/docs/docs/integrations/coolify/index.ts | 1 +
.../docs/docs/integrations/dash-dot/index.mdx | 5 +++++
apps/docs/docs/integrations/dash-dot/index.ts | 1 +
apps/docs/docs/integrations/deluge/index.mdx | 5 +++++
apps/docs/docs/integrations/deluge/index.ts | 1 +
.../docs/integrations/docker-hub/index.mdx | 5 +++++
.../docs/integrations/docker-hub/index.ts | 1 +
apps/docs/docs/integrations/docker/index.mdx | 5 +++++
apps/docs/docs/integrations/docker/index.ts | 1 +
apps/docs/docs/integrations/emby/index.mdx | 5 +++++
apps/docs/docs/integrations/emby/index.ts | 1 +
.../github-containerregistry/index.mdx | 5 +++++
.../github-containerregistry/index.ts | 1 +
apps/docs/docs/integrations/github/index.mdx | 5 +++++
apps/docs/docs/integrations/github/index.ts | 1 +
apps/docs/docs/integrations/gitlab/index.mdx | 5 +++++
apps/docs/docs/integrations/gitlab/index.ts | 1 +
apps/docs/docs/integrations/glances/index.mdx | 5 +++++
apps/docs/docs/integrations/glances/index.ts | 1 +
apps/docs/docs/integrations/gluetun/index.mdx | 5 +++++
apps/docs/docs/integrations/gluetun/index.ts | 1 +
apps/docs/docs/integrations/gotify/index.mdx | 5 +++++
apps/docs/docs/integrations/gotify/index.ts | 1 +
.../integrations/home-assistant/index.mdx | 5 +++++
.../docs/integrations/home-assistant/index.ts | 1 +
apps/docs/docs/integrations/ical/index.mdx | 5 +++++
apps/docs/docs/integrations/ical/index.ts | 1 +
apps/docs/docs/integrations/immich/index.mdx | 5 +++++
apps/docs/docs/integrations/immich/index.ts | 1 +
.../docs/docs/integrations/jellyfin/index.mdx | 5 +++++
apps/docs/docs/integrations/jellyfin/index.ts | 1 +
.../docs/integrations/jellyseerr/index.mdx | 5 +++++
.../docs/integrations/jellyseerr/index.ts | 1 +
.../docs/integrations/kubernetes/index.mdx | 5 +++++
.../docs/integrations/kubernetes/index.ts | 1 +
apps/docs/docs/integrations/lidarr/index.mdx | 5 +++++
apps/docs/docs/integrations/lidarr/index.ts | 1 +
.../integrations/linux-server-io/index.mdx | 5 +++++
.../integrations/linux-server-io/index.ts | 1 +
.../docs/integrations/navidrome/index.mdx | 5 +++++
.../docs/docs/integrations/navidrome/index.ts | 1 +
.../docs/integrations/nextcloud/index.mdx | 5 +++++
.../docs/docs/integrations/nextcloud/index.ts | 1 +
apps/docs/docs/integrations/npm/index.mdx | 5 +++++
apps/docs/docs/integrations/npm/index.ts | 1 +
apps/docs/docs/integrations/ntfy/index.mdx | 5 +++++
apps/docs/docs/integrations/ntfy/index.ts | 1 +
apps/docs/docs/integrations/nzbget/index.mdx | 5 +++++
apps/docs/docs/integrations/nzbget/index.ts | 1 +
.../integrations/open-media-vault/index.mdx | 5 +++++
.../integrations/open-media-vault/index.ts | 1 +
.../docs/docs/integrations/opnsense/index.mdx | 5 +++++
apps/docs/docs/integrations/opnsense/index.ts | 1 +
.../docs/integrations/overseerr/index.mdx | 5 +++++
.../docs/docs/integrations/overseerr/index.ts | 1 +
.../docs/integrations/paperless-ngx/index.mdx | 5 +++++
.../docs/integrations/paperless-ngx/index.ts | 1 +
apps/docs/docs/integrations/peanut/index.mdx | 5 +++++
apps/docs/docs/integrations/peanut/index.ts | 1 +
apps/docs/docs/integrations/pi-hole/index.mdx | 5 +++++
apps/docs/docs/integrations/pi-hole/index.ts | 1 +
apps/docs/docs/integrations/plex/index.mdx | 5 +++++
apps/docs/docs/integrations/plex/index.ts | 1 +
.../docs/docs/integrations/prowlarr/index.mdx | 5 +++++
apps/docs/docs/integrations/prowlarr/index.ts | 1 +
apps/docs/docs/integrations/proxmox/index.mdx | 5 +++++
apps/docs/docs/integrations/proxmox/index.ts | 1 +
.../docs/integrations/q-bittorent/index.mdx | 5 +++++
.../docs/integrations/q-bittorent/index.ts | 1 +
apps/docs/docs/integrations/quay/index.mdx | 5 +++++
apps/docs/docs/integrations/quay/index.ts | 1 +
apps/docs/docs/integrations/radarr/index.mdx | 5 +++++
apps/docs/docs/integrations/radarr/index.ts | 1 +
apps/docs/docs/integrations/readarr/index.mdx | 5 +++++
apps/docs/docs/integrations/readarr/index.ts | 1 +
apps/docs/docs/integrations/sabnzbd/index.mdx | 5 +++++
apps/docs/docs/integrations/sabnzbd/index.ts | 1 +
.../docs/integrations/search-ch/index.mdx | 5 +++++
.../docs/docs/integrations/search-ch/index.ts | 1 +
apps/docs/docs/integrations/seerr/index.mdx | 5 +++++
apps/docs/docs/integrations/seerr/index.ts | 1 +
apps/docs/docs/integrations/slskd/index.mdx | 5 +++++
apps/docs/docs/integrations/slskd/index.ts | 1 +
apps/docs/docs/integrations/sonarr/index.mdx | 5 +++++
apps/docs/docs/integrations/sonarr/index.ts | 1 +
.../integrations/speedtest-tracker/index.mdx | 5 +++++
.../integrations/speedtest-tracker/index.ts | 1 +
apps/docs/docs/integrations/tdarr/index.mdx | 5 +++++
apps/docs/docs/integrations/tdarr/index.ts | 1 +
.../integrations/technitium-dns/index.mdx | 5 +++++
.../docs/integrations/technitium-dns/index.ts | 1 +
.../docs/docs/integrations/tracearr/index.mdx | 5 +++++
apps/docs/docs/integrations/tracearr/index.ts | 1 +
.../docs/integrations/transmission/index.mdx | 5 +++++
.../docs/integrations/transmission/index.ts | 1 +
apps/docs/docs/integrations/truenas/index.mdx | 5 +++++
apps/docs/docs/integrations/truenas/index.ts | 1 +
apps/docs/docs/integrations/umami/index.mdx | 5 +++++
apps/docs/docs/integrations/umami/index.ts | 1 +
.../integrations/unifi-controller/index.mdx | 5 +++++
.../integrations/unifi-controller/index.ts | 1 +
apps/docs/docs/integrations/unraid/index.mdx | 5 +++++
apps/docs/docs/integrations/unraid/index.ts | 1 +
.../docs/integrations/uptime-kuma/index.mdx | 5 +++++
.../docs/integrations/uptime-kuma/index.ts | 1 +
apps/docs/docs/widgets/anchor-note/index.mdx | 5 +++++
apps/docs/docs/widgets/anchor-note/index.ts | 1 +
apps/docs/docs/widgets/app/index.mdx | 5 +++++
apps/docs/docs/widgets/app/index.ts | 1 +
apps/docs/docs/widgets/audio-stats/index.mdx | 5 +++++
apps/docs/docs/widgets/audio-stats/index.ts | 1 +
.../docs/docs/widgets/beszel-alerts/index.mdx | 5 +++++
apps/docs/docs/widgets/beszel-alerts/index.ts | 1 +
.../docs/widgets/beszel-system-grid/index.mdx | 5 +++++
.../docs/widgets/beszel-system-grid/index.ts | 1 +
.../widgets/beszel-system-stats/index.mdx | 5 +++++
.../docs/widgets/beszel-system-stats/index.ts | 1 +
.../widgets/beszel-system-table/index.mdx | 5 +++++
.../docs/widgets/beszel-system-table/index.ts | 1 +
apps/docs/docs/widgets/bookmarks/index.mdx | 5 +++++
apps/docs/docs/widgets/bookmarks/index.ts | 1 +
apps/docs/docs/widgets/calendar/index.mdx | 5 +++++
apps/docs/docs/widgets/calendar/index.ts | 1 +
apps/docs/docs/widgets/clock/index.mdx | 5 +++++
apps/docs/docs/widgets/clock/index.ts | 1 +
apps/docs/docs/widgets/coolify/index.mdx | 5 +++++
apps/docs/docs/widgets/coolify/index.ts | 1 +
apps/docs/docs/widgets/custom-api/index.mdx | 5 +++++
apps/docs/docs/widgets/custom-api/index.ts | 1 +
.../docs/widgets/dns-hole-controls/index.mdx | 5 +++++
.../docs/widgets/dns-hole-controls/index.ts | 1 +
.../docs/widgets/dns-hole-summary/index.mdx | 5 +++++
.../docs/widgets/dns-hole-summary/index.ts | 1 +
.../docs/widgets/docker-containers/index.mdx | 5 +++++
.../docs/widgets/docker-containers/index.ts | 1 +
apps/docs/docs/widgets/downloads/index.mdx | 5 +++++
apps/docs/docs/widgets/downloads/index.ts | 1 +
apps/docs/docs/widgets/firewall/index.mdx | 5 +++++
apps/docs/docs/widgets/firewall/index.ts | 1 +
.../docs/widgets/health-monitoring/index.mdx | 5 +++++
.../docs/widgets/health-monitoring/index.ts | 1 +
apps/docs/docs/widgets/iframe/index.mdx | 5 +++++
apps/docs/docs/widgets/iframe/index.ts | 1 +
.../widgets/immich-album-carousel/index.mdx | 5 +++++
.../widgets/immich-album-carousel/index.ts | 1 +
.../widgets/immich-server-stats/index.mdx | 5 +++++
.../docs/widgets/immich-server-stats/index.ts | 1 +
.../docs/widgets/indexer-manager/index.mdx | 5 +++++
.../docs/widgets/indexer-manager/index.ts | 1 +
.../docs/widgets/media-releases/index.mdx | 5 +++++
.../docs/docs/widgets/media-releases/index.ts | 1 +
.../docs/widgets/media-request-list/index.mdx | 5 +++++
.../docs/widgets/media-request-list/index.ts | 1 +
.../widgets/media-request-stats/index.mdx | 5 +++++
.../docs/widgets/media-request-stats/index.ts | 1 +
apps/docs/docs/widgets/media-server/index.mdx | 5 +++++
apps/docs/docs/widgets/media-server/index.ts | 1 +
.../docs/widgets/media-transcoding/index.mdx | 5 +++++
.../docs/widgets/media-transcoding/index.ts | 1 +
.../widgets/minecraft-server-status/index.mdx | 5 +++++
.../widgets/minecraft-server-status/index.ts | 1 +
.../network-controller-status/index.mdx | 5 +++++
.../network-controller-status/index.ts | 1 +
.../network-controller-summary/index.mdx | 5 +++++
.../network-controller-summary/index.ts | 1 +
apps/docs/docs/widgets/notebook/index.mdx | 5 +++++
apps/docs/docs/widgets/notebook/index.ts | 1 +
.../docs/docs/widgets/notifications/index.mdx | 5 +++++
apps/docs/docs/widgets/notifications/index.ts | 1 +
.../docs/docs/widgets/paperless-ngx/index.mdx | 5 +++++
apps/docs/docs/widgets/paperless-ngx/index.ts | 1 +
apps/docs/docs/widgets/releases/index.mdx | 5 +++++
apps/docs/docs/widgets/releases/index.ts | 1 +
apps/docs/docs/widgets/rss-feed/index.mdx | 5 +++++
apps/docs/docs/widgets/rss-feed/index.tsx | 1 +
.../widgets/smart-home-entity-state/index.mdx | 5 +++++
.../widgets/smart-home-entity-state/index.ts | 1 +
.../smart-home-execute-automation/index.mdx | 5 +++++
.../smart-home-execute-automation/index.ts | 1 +
.../docs/widgets/speedtest-tracker/index.mdx | 5 +++++
.../docs/widgets/speedtest-tracker/index.ts | 1 +
apps/docs/docs/widgets/stock-price/index.mdx | 5 +++++
apps/docs/docs/widgets/stock-price/index.tsx | 1 +
.../docs/widgets/system-resources/index.mdx | 5 +++++
.../docs/widgets/system-resources/index.ts | 1 +
apps/docs/docs/widgets/timetable/index.mdx | 5 +++++
apps/docs/docs/widgets/timetable/index.ts | 1 +
apps/docs/docs/widgets/tracearr/index.mdx | 5 +++++
apps/docs/docs/widgets/tracearr/index.ts | 1 +
apps/docs/docs/widgets/umami/index.mdx | 5 +++++
apps/docs/docs/widgets/umami/index.ts | 1 +
apps/docs/docs/widgets/ups/index.mdx | 5 +++++
apps/docs/docs/widgets/ups/index.ts | 1 +
apps/docs/docs/widgets/uptime-kuma/index.mdx | 5 +++++
apps/docs/docs/widgets/uptime-kuma/index.ts | 1 +
apps/docs/docs/widgets/video/index.mdx | 5 +++++
apps/docs/docs/widgets/video/index.tsx | 1 +
apps/docs/docs/widgets/vpn/index.mdx | 5 +++++
apps/docs/docs/widgets/vpn/index.ts | 1 +
apps/docs/docs/widgets/weather/index.mdx | 5 +++++
apps/docs/docs/widgets/weather/index.tsx | 1 +
.../docs/src/components/integrations/data.tsx | 19 +++++++++++++++++++
apps/docs/src/components/widgets/data.tsx | 19 +++++++++++++++++++
apps/docs/src/types.ts | 2 ++
219 files changed, 688 insertions(+)
create mode 100644 apps/docs/src/components/integrations/data.tsx
create mode 100644 apps/docs/src/components/widgets/data.tsx
diff --git a/apps/docs/docs/integrations/adguard-home/index.mdx b/apps/docs/docs/integrations/adguard-home/index.mdx
index b4cb6cdb6..e08668718 100644
--- a/apps/docs/docs/integrations/adguard-home/index.mdx
+++ b/apps/docs/docs/integrations/adguard-home/index.mdx
@@ -4,6 +4,7 @@ description: "AdGuard Home is a network-wide software for blocking ads and track
hide_title: true
---
+import { IntegrationData } from '@site/src/components/integrations/data';
import { IntegrationHeader } from '@site/src/components/integrations/header';
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
import { AddingIntegration } from '@site/src/components/integrations/adding';
@@ -18,6 +19,10 @@ import { dnsHoleControlsWidget } from '@site/docs/widgets/dns-hole-controls';
categories={['DNS Hole']}
/>
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+
### Adding the integration
diff --git a/apps/docs/docs/integrations/archiveteam-warrior/index.ts b/apps/docs/docs/integrations/archiveteam-warrior/index.ts
index 5a18f6f4f..d7d893fdc 100644
--- a/apps/docs/docs/integrations/archiveteam-warrior/index.ts
+++ b/apps/docs/docs/integrations/archiveteam-warrior/index.ts
@@ -6,4 +6,5 @@ export const archiveTeamWarriorIntegration: IntegrationDefinition = {
"ArchiveTeam Warrior is an easy-to-run virtual machine that helps preserve websites by using some of your bandwidth and disk space to download and upload content to ArchiveTeam’s archive.",
iconUrl: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/archiveteam-warrior.png",
path: "../../integrations/archiveteam-warrior",
+ data: "Fetches Archive Team Warrior status including project, bandwidth stats, and item progress via WebSocket.",
};
diff --git a/apps/docs/docs/integrations/aria2/index.mdx b/apps/docs/docs/integrations/aria2/index.mdx
index 9950fec2f..a2fbb156e 100644
--- a/apps/docs/docs/integrations/aria2/index.mdx
+++ b/apps/docs/docs/integrations/aria2/index.mdx
@@ -4,6 +4,7 @@ description: "Lightweight multiprotocol & multi-source command-line download uti
hide_title: true
---
+import { IntegrationData } from '@site/src/components/integrations/data';
import { IntegrationHeader } from '@site/src/components/integrations/header';
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
import { AddingIntegration } from '@site/src/components/integrations/adding';
@@ -16,6 +17,10 @@ import { downloadsWidget } from '@site/docs/widgets/downloads';
categories={['Download', 'Multiprotocol', 'Multi-source']}
/>
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Prerequisites
Before deploying Homarr in Kubernetes, ensure the following prerequisites are met:
diff --git a/apps/docs/docs/integrations/kubernetes/index.ts b/apps/docs/docs/integrations/kubernetes/index.ts
index 9702bef3a..1a17ef1e5 100644
--- a/apps/docs/docs/integrations/kubernetes/index.ts
+++ b/apps/docs/docs/integrations/kubernetes/index.ts
@@ -6,4 +6,5 @@ export const kubernetesIntegration: IntegrationDefinition = {
"Kubernetes is a powerful container orchestration platform that automates the deployment, scaling, and management of containerized applications.",
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/kubernetes.svg",
path: "../../integrations/kubernetes",
+ data: "Fetches Kubernetes cluster information including pods, deployments, and services.",
};
diff --git a/apps/docs/docs/integrations/lidarr/index.mdx b/apps/docs/docs/integrations/lidarr/index.mdx
index 498503617..2003494b4 100644
--- a/apps/docs/docs/integrations/lidarr/index.mdx
+++ b/apps/docs/docs/integrations/lidarr/index.mdx
@@ -4,6 +4,7 @@ description: "Lidarr is a music management tool that automates the process of do
hide_title: true
---
+import { IntegrationData } from '@site/src/components/integrations/data';
import { IntegrationHeader } from '@site/src/components/integrations/header';
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
import { AddingIntegration } from '@site/src/components/integrations/adding';
@@ -18,6 +19,10 @@ import { calendarWidget } from '@site/docs/widgets/calendar';
categories={['Media manager', "Servarr"]}
/>
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+### Data
+
+
+
### Widgets & Capabilities
+
### Widgets & Capabilities
+
### Screenshots
import anchorNoteWidgetScreenshot from './img/widget.png';
diff --git a/apps/docs/docs/widgets/anchor-note/index.ts b/apps/docs/docs/widgets/anchor-note/index.ts
index c815964a1..03134e635 100644
--- a/apps/docs/docs/widgets/anchor-note/index.ts
+++ b/apps/docs/docs/widgets/anchor-note/index.ts
@@ -5,6 +5,7 @@ export const anchorNoteWidget: WidgetDefinition = {
icon: IconNotes,
name: "Anchor Note",
description: "Display and edit a selected note from Anchor",
+ data: "Displays a collaborative rich-text note with real-time editing synced through the Anchor integration.",
path: "../../widgets/anchor-note",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/app/index.mdx b/apps/docs/docs/widgets/app/index.mdx
index ec62d862e..6b867d651 100644
--- a/apps/docs/docs/widgets/app/index.mdx
+++ b/apps/docs/docs/widgets/app/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { appWidget } from '.';
@@ -18,6 +19,10 @@ import { appWidget } from '.';
The app widget allows you to add a link to an application or a website that you want to access quickly from your Homarr board.
It also supports a status check to indicate whether Homarr can reach the application or website.
+### Data
+
+
+
### Screenshots
import githubApp from './img/github.png';
diff --git a/apps/docs/docs/widgets/app/index.ts b/apps/docs/docs/widgets/app/index.ts
index 773121733..9dcc7d4cf 100644
--- a/apps/docs/docs/widgets/app/index.ts
+++ b/apps/docs/docs/widgets/app/index.ts
@@ -5,6 +5,7 @@ export const appWidget: WidgetDefinition = {
icon: IconApps,
name: "App",
description: "Embeds an app into the board.",
+ data: "Displays an application shortcut with icon, name, optional description, and a live ping/status indicator.",
path: "../../widgets/app",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/audio-stats/index.mdx b/apps/docs/docs/widgets/audio-stats/index.mdx
index f37a4eb83..08c0e79e0 100644
--- a/apps/docs/docs/widgets/audio-stats/index.mdx
+++ b/apps/docs/docs/widgets/audio-stats/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { audioStatsWidget } from '.';
import { navidromeIntegration } from '@site/docs/integrations/navidrome';
@@ -25,6 +26,10 @@ This widget adapts its display based on the linked integration:
Only options relevant to your linked integration are shown in the configuration panel.
+### Data
+
+
+
### Supported Integrations
+
### Screenshots
diff --git a/apps/docs/docs/widgets/beszel-alerts/index.ts b/apps/docs/docs/widgets/beszel-alerts/index.ts
index bc3ba372c..2f68413d7 100644
--- a/apps/docs/docs/widgets/beszel-alerts/index.ts
+++ b/apps/docs/docs/widgets/beszel-alerts/index.ts
@@ -5,6 +5,7 @@ export const beszelAlertsWidget: WidgetDefinition = {
icon: IconBell,
name: "Beszel Alerts",
description: "View Beszel alert configurations and history with triggered/ok status indicators.",
+ data: "Displays active and historical alerts for Beszel-monitored systems with metric type indicators and resolution status.",
path: "../../widgets/beszel-alerts",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/beszel-system-grid/index.mdx b/apps/docs/docs/widgets/beszel-system-grid/index.mdx
index de3578aeb..11d4ab434 100644
--- a/apps/docs/docs/widgets/beszel-system-grid/index.mdx
+++ b/apps/docs/docs/widgets/beszel-system-grid/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { beszelSystemGridWidget } from '.';
import { beszelIntegration } from '@site/docs/integrations/beszel';
@@ -20,6 +21,10 @@ import beszelSystemGrid from './img/beszel-system-grid.png';
This widget displays all your Beszel-monitored systems as a responsive card grid. Each card shows real-time metrics like CPU, memory, disk, network, temperature, and more. Cards adapt their layout based on available space.
+### Data
+
+
+
### Screenshots
diff --git a/apps/docs/docs/widgets/beszel-system-grid/index.ts b/apps/docs/docs/widgets/beszel-system-grid/index.ts
index 0fcc21d12..266fa1935 100644
--- a/apps/docs/docs/widgets/beszel-system-grid/index.ts
+++ b/apps/docs/docs/widgets/beszel-system-grid/index.ts
@@ -5,6 +5,7 @@ export const beszelSystemGridWidget: WidgetDefinition = {
icon: IconLayoutGrid,
name: "Beszel Systems (Grid)",
description: "Card grid view of all Beszel-monitored systems with real-time metrics.",
+ data: "Displays live system metrics (CPU, memory, disk, GPU, network) for all Beszel systems in a responsive card grid.",
path: "../../widgets/beszel-system-grid",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/beszel-system-stats/index.mdx b/apps/docs/docs/widgets/beszel-system-stats/index.mdx
index 8efa3fb46..6f0fa6ff4 100644
--- a/apps/docs/docs/widgets/beszel-system-stats/index.mdx
+++ b/apps/docs/docs/widgets/beszel-system-stats/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { beszelSystemStatsWidget } from '.';
import { beszelIntegration } from '@site/docs/integrations/beszel';
@@ -20,6 +21,10 @@ import beszelSystemStats from './img/beszel-system-stats.png';
This widget displays time-series charts for a selected Beszel system, including CPU, memory, disk, network, and Docker container metrics. Data is cached and refreshed periodically. You can select a time period ranging from 1 hour to 30 days.
+### Data
+
+
+
### Screenshots
diff --git a/apps/docs/docs/widgets/beszel-system-stats/index.ts b/apps/docs/docs/widgets/beszel-system-stats/index.ts
index 2f48019e4..e5c77cd03 100644
--- a/apps/docs/docs/widgets/beszel-system-stats/index.ts
+++ b/apps/docs/docs/widgets/beszel-system-stats/index.ts
@@ -5,6 +5,7 @@ export const beszelSystemStatsWidget: WidgetDefinition = {
icon: IconChartAreaLine,
name: "Beszel System Stats",
description: "Time-series charts for CPU, memory, disk, network, and Docker container metrics from Beszel.",
+ data: "Displays detailed historical charts (CPU, memory, disk, network, Docker containers) for a single Beszel system.",
path: "../../widgets/beszel-system-stats",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/beszel-system-table/index.mdx b/apps/docs/docs/widgets/beszel-system-table/index.mdx
index dfab7a977..8d34e8384 100644
--- a/apps/docs/docs/widgets/beszel-system-table/index.mdx
+++ b/apps/docs/docs/widgets/beszel-system-table/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { beszelSystemTableWidget } from '.';
import { beszelIntegration } from '@site/docs/integrations/beszel';
@@ -19,6 +20,10 @@ import { beszelIntegration } from '@site/docs/integrations/beszel';
This widget displays all your Beszel-monitored systems in a sortable data table. Each row shows system metrics like CPU, memory, disk, network, temperature, and more. Columns can be toggled on or off, and the table supports sorting by any column.
+### Data
+
+
+
### Supported Integrations
+
### Screenshots
import gridIconsOnly from './img/grid-icons-only.png';
diff --git a/apps/docs/docs/widgets/bookmarks/index.ts b/apps/docs/docs/widgets/bookmarks/index.ts
index 57fea9836..9f18513c6 100644
--- a/apps/docs/docs/widgets/bookmarks/index.ts
+++ b/apps/docs/docs/widgets/bookmarks/index.ts
@@ -5,6 +5,7 @@ export const bookmarksWidget: WidgetDefinition = {
icon: IconBookmark,
name: "Bookmarks",
description: "Displays multiple app links",
+ data: "Displays a collection of application shortcuts in a grid or flex layout with icons and names.",
path: "../../widgets/bookmarks",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/calendar/index.mdx b/apps/docs/docs/widgets/calendar/index.mdx
index 5db4e9b30..cd06ddf81 100644
--- a/apps/docs/docs/widgets/calendar/index.mdx
+++ b/apps/docs/docs/widgets/calendar/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -29,6 +30,10 @@ import { icalIntegration } from '@site/docs/integrations/ical';
The calendar widget shows a month view of events from different integrations.
It allows you to view calendar events or upcoming releases from your media managers.
+### Data
+
+
+
### Screenshots
import popover from './img/popover.png';
diff --git a/apps/docs/docs/widgets/calendar/index.ts b/apps/docs/docs/widgets/calendar/index.ts
index b1e2d83b3..29186103d 100644
--- a/apps/docs/docs/widgets/calendar/index.ts
+++ b/apps/docs/docs/widgets/calendar/index.ts
@@ -5,6 +5,7 @@ export const calendarWidget: WidgetDefinition = {
icon: IconCalendar,
name: "Calendar",
description: "Display events from your integrations in a calendar view within a certain relative time period",
+ data: "Displays a monthly calendar with event dots and detailed event lists for media releases from Sonarr/Radarr.",
path: "../../widgets/calendar",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/clock/index.mdx b/apps/docs/docs/widgets/clock/index.mdx
index efdab31d4..edc588a17 100644
--- a/apps/docs/docs/widgets/clock/index.mdx
+++ b/apps/docs/docs/widgets/clock/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { clockWidget } from '.';
@@ -17,6 +18,10 @@ import { clockWidget } from '.';
The clock widget displays the current date and time in a customizable format.
+### Data
+
+
+
### Screenshots
import localClock from './img/local.png';
diff --git a/apps/docs/docs/widgets/clock/index.ts b/apps/docs/docs/widgets/clock/index.ts
index 5cdb1e2a8..e49e63d11 100644
--- a/apps/docs/docs/widgets/clock/index.ts
+++ b/apps/docs/docs/widgets/clock/index.ts
@@ -5,6 +5,7 @@ export const clockWidget: WidgetDefinition = {
icon: IconClock,
name: "Date and time",
description: "Displays the current date and time.",
+ data: "Displays the current time and date with customizable format, timezone, and optional title.",
path: "../../widgets/clock",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/coolify/index.mdx b/apps/docs/docs/widgets/coolify/index.mdx
index 23eb6ba03..2f64e81dc 100644
--- a/apps/docs/docs/widgets/coolify/index.mdx
+++ b/apps/docs/docs/widgets/coolify/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { coolifyWidget } from '.';
import { coolifyIntegration } from '@site/docs/integrations/coolify';
@@ -18,6 +19,10 @@ import { coolifyIntegration } from '@site/docs/integrations/coolify';
The Coolify widget displays a compact overview of your Coolify instance. It can show servers, applications, and services with status indicators, project and environment context, direct links to Coolify, and the installed Coolify version.
+### Data
+
+
+
### Supported Integrations
+
### Adding the widget
diff --git a/apps/docs/docs/widgets/custom-api/index.ts b/apps/docs/docs/widgets/custom-api/index.ts
index c6c56bc53..a5a6d2ca9 100644
--- a/apps/docs/docs/widgets/custom-api/index.ts
+++ b/apps/docs/docs/widgets/custom-api/index.ts
@@ -5,5 +5,6 @@ export const customApiWidget: WidgetDefinition = {
icon: IconApi,
name: "Custom API",
description: "Displays data from a custom API endpoint using configurable display types and optional JSX templates.",
+ data: "Displays data from user-defined API endpoints with configurable display types like values, tables, charts, and status indicators.",
path: "../../widgets/custom-api",
};
diff --git a/apps/docs/docs/widgets/dns-hole-controls/index.mdx b/apps/docs/docs/widgets/dns-hole-controls/index.mdx
index cea517545..808dff80b 100644
--- a/apps/docs/docs/widgets/dns-hole-controls/index.mdx
+++ b/apps/docs/docs/widgets/dns-hole-controls/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -24,6 +25,10 @@ import { technitiumDnsIntegration } from '@site/docs/integrations/technitium-dns
This widget allows you to enable or disable your DNS Hole.
+### Data
+
+
+
### Screenshots
import bigSize from './img/big.png';
diff --git a/apps/docs/docs/widgets/dns-hole-controls/index.ts b/apps/docs/docs/widgets/dns-hole-controls/index.ts
index 31d2b45c9..e1f74265e 100644
--- a/apps/docs/docs/widgets/dns-hole-controls/index.ts
+++ b/apps/docs/docs/widgets/dns-hole-controls/index.ts
@@ -6,6 +6,7 @@ export const dnsHoleControlsWidget: WidgetDefinition = {
icon: IconDeviceGamepad,
name: "DNS Hole Controls",
description: `Control the blocking feature of your ${integrations} from your dashboard`,
+ data: "Displays enable/disable controls for Pi-hole and AdGuard Home DNS filtering with timer-based disable options.",
path: "../../widgets/dns-hole-controls",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/dns-hole-summary/index.mdx b/apps/docs/docs/widgets/dns-hole-summary/index.mdx
index 1dcb123da..c26cf0429 100644
--- a/apps/docs/docs/widgets/dns-hole-summary/index.mdx
+++ b/apps/docs/docs/widgets/dns-hole-summary/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -21,6 +22,10 @@ import { dnsHoleSummaryWidget } from '.';
This widget allows you to display statistics about your DNS Hole like total queries, blocked queries, and more.
+### Data
+
+
+
### Screenshots
import gridLayout from './img/grid.png';
diff --git a/apps/docs/docs/widgets/dns-hole-summary/index.ts b/apps/docs/docs/widgets/dns-hole-summary/index.ts
index 76de8b588..a973c71cd 100644
--- a/apps/docs/docs/widgets/dns-hole-summary/index.ts
+++ b/apps/docs/docs/widgets/dns-hole-summary/index.ts
@@ -7,6 +7,7 @@ export const dnsHoleSummaryWidget: WidgetDefinition = {
icon: IconAd,
name: "DNS Hole Summary",
description: `Displays the summary of your ${integrations} blocks and queries statistics`,
+ data: "Displays DNS ad-blocking statistics including ads blocked today, percentage, total queries, and domains being blocked.",
path: "../../widgets/dns-hole-summary",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/docker-containers/index.mdx b/apps/docs/docs/widgets/docker-containers/index.mdx
index fe509f86a..b558e1fee 100644
--- a/apps/docs/docs/widgets/docker-containers/index.mdx
+++ b/apps/docs/docs/widgets/docker-containers/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -26,6 +27,10 @@ This widget displays the resource usage of your Docker containers and allows you
This widget can only be used with administrator privileges.
:::
+### Data
+
+
+
### Screenshots
import dockerTable from './img/table.png';
diff --git a/apps/docs/docs/widgets/docker-containers/index.ts b/apps/docs/docs/widgets/docker-containers/index.ts
index 3e4a17ab6..b8aacffc2 100644
--- a/apps/docs/docs/widgets/docker-containers/index.ts
+++ b/apps/docs/docs/widgets/docker-containers/index.ts
@@ -5,6 +5,7 @@ export const dockerContainersWidget: WidgetDefinition = {
icon: IconBrandDocker,
name: "Docker stats",
description: "Stats of your containers",
+ data: "Displays a table of Docker containers with status, CPU, memory usage, and start/stop/restart actions.",
path: "../../widgets/docker-containers",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/downloads/index.mdx b/apps/docs/docs/widgets/downloads/index.mdx
index 9242a84eb..654d83fb4 100644
--- a/apps/docs/docs/widgets/downloads/index.mdx
+++ b/apps/docs/docs/widgets/downloads/index.mdx
@@ -12,6 +12,7 @@ import { transmissionIntegration } from '@site/docs/integrations/transmission';
import { slskdIntegration } from '@site/docs/integrations/slskd';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
@@ -27,6 +28,10 @@ import { downloadsWidget } from '.';
This widget displays a list of torrents or usenet-articles that are currently being downloaded, along with their progress and other relevant information.
+### Data
+
+
+
### Screenshots
import downloadsCard from './img/screenshot.png';
diff --git a/apps/docs/docs/widgets/downloads/index.ts b/apps/docs/docs/widgets/downloads/index.ts
index 4810aec89..601153c06 100644
--- a/apps/docs/docs/widgets/downloads/index.ts
+++ b/apps/docs/docs/widgets/downloads/index.ts
@@ -27,6 +27,7 @@ export const downloadsWidget: WidgetDefinition = {
icon: IconDownload,
name: "Download Client",
description: "Allows you to view and manage your Downloads from both Torrent and Usenet clients.",
+ data: "Displays a sortable download manager table with progress, speeds, ETA, and per-item pause/resume/delete actions.",
path: "../../widgets/downloads",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/firewall/index.mdx b/apps/docs/docs/widgets/firewall/index.mdx
index 95aaa56d6..9f9affdf3 100644
--- a/apps/docs/docs/widgets/firewall/index.mdx
+++ b/apps/docs/docs/widgets/firewall/index.mdx
@@ -4,6 +4,7 @@ description: 'Displays a summary of firewalls.'
hide_title: true
---
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
@@ -18,6 +19,10 @@ import { opnsenseIntegration } from '../../integrations/opnsense';
categories={['Firewall']}
/>
+### Data
+
+
+
### Screenshots

diff --git a/apps/docs/docs/widgets/firewall/index.ts b/apps/docs/docs/widgets/firewall/index.ts
index 42178c165..d575ca3f8 100644
--- a/apps/docs/docs/widgets/firewall/index.ts
+++ b/apps/docs/docs/widgets/firewall/index.ts
@@ -5,6 +5,7 @@ export const firewallWidget: WidgetDefinition = {
icon: IconWall,
name: "Firewall Monitoring",
description: "Displays a summary of firewalls.",
+ data: "Displays firewall status including CPU, memory usage, version info, and per-interface bandwidth.",
path: "../../widgets/firewall",
configuration: {
items: [],
diff --git a/apps/docs/docs/widgets/health-monitoring/index.mdx b/apps/docs/docs/widgets/health-monitoring/index.mdx
index 9e41a5fcc..937978d64 100644
--- a/apps/docs/docs/widgets/health-monitoring/index.mdx
+++ b/apps/docs/docs/widgets/health-monitoring/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -25,6 +26,10 @@ import { glancesIntegration } from '@site/docs/integrations/glances';
This widget displays information about the health and status of your system(s), including CPU, memory, disk usage, and more.
+### Data
+
+
+
### Screenshots
import systemView from './img/system-view.png';
diff --git a/apps/docs/docs/widgets/health-monitoring/index.ts b/apps/docs/docs/widgets/health-monitoring/index.ts
index 2a3cc6a58..a985af0e0 100644
--- a/apps/docs/docs/widgets/health-monitoring/index.ts
+++ b/apps/docs/docs/widgets/health-monitoring/index.ts
@@ -5,6 +5,7 @@ export const healthMonitoringWidget: WidgetDefinition = {
icon: IconHeartRateMonitor,
name: "System Health Monitoring",
description: "Displays information showing the health and status of your system(s).",
+ data: "Displays system health metrics including CPU, memory, GPU, filesystem usage, temperature, and uptime.",
path: "../../widgets/health-monitoring",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/iframe/index.mdx b/apps/docs/docs/widgets/iframe/index.mdx
index 5be26f3b2..7c3af00ac 100644
--- a/apps/docs/docs/widgets/iframe/index.mdx
+++ b/apps/docs/docs/widgets/iframe/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { iframeWidget } from '.';
@@ -20,6 +21,10 @@ It uses the [iframe element](https://developer.mozilla.org/en-US/docs/Web/HTML/E
which embeds the desired page in the browser.
This means, no traffic is routed through Homarr (and the URL must be reachable from the client).
+### Data
+
+
+
### Screenshots
import wikipediaHomepage from './img/wikipedia.png';
diff --git a/apps/docs/docs/widgets/iframe/index.ts b/apps/docs/docs/widgets/iframe/index.ts
index f876dc826..a1d6b68a8 100644
--- a/apps/docs/docs/widgets/iframe/index.ts
+++ b/apps/docs/docs/widgets/iframe/index.ts
@@ -5,6 +5,7 @@ export const iframeWidget: WidgetDefinition = {
icon: IconBrowser,
name: "iFrame",
description: "Embed any content from the internet. Some websites may restrict access.",
+ data: "Embeds an external webpage via iframe with configurable sandbox permissions.",
path: "../../widgets/iframe",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/immich-album-carousel/index.mdx b/apps/docs/docs/widgets/immich-album-carousel/index.mdx
index 59b1beeb9..84dc7854e 100644
--- a/apps/docs/docs/widgets/immich-album-carousel/index.mdx
+++ b/apps/docs/docs/widgets/immich-album-carousel/index.mdx
@@ -8,6 +8,7 @@ import { immichIntegration } from '../../integrations/immich';import {
AddingWidget
} from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { immichAlbumCarouselWidget } from '.';
@@ -18,6 +19,10 @@ import { immichAlbumCarouselWidget } from '.';
categories={['Photos Service']}
/>
+### Data
+
+
+
### Screenshots
import screen from './img/screen.png';
diff --git a/apps/docs/docs/widgets/immich-album-carousel/index.ts b/apps/docs/docs/widgets/immich-album-carousel/index.ts
index 327314c3d..b8eb6edde 100644
--- a/apps/docs/docs/widgets/immich-album-carousel/index.ts
+++ b/apps/docs/docs/widgets/immich-album-carousel/index.ts
@@ -5,6 +5,7 @@ export const immichAlbumCarouselWidget: WidgetDefinition = {
icon: IconPhoto,
name: "Immich Album",
description: "Shows a slideshow of your album pictures from Immich",
+ data: "Displays a rotating photo slideshow from an Immich album with configurable interval.",
path: "../../widgets/immich-album-carousel",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/immich-server-stats/index.mdx b/apps/docs/docs/widgets/immich-server-stats/index.mdx
index 73d278a91..776271b5e 100644
--- a/apps/docs/docs/widgets/immich-server-stats/index.mdx
+++ b/apps/docs/docs/widgets/immich-server-stats/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { immichIntegration } from '../../integrations/immich';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { immichServerStatsWidget } from '.';
@@ -17,6 +18,10 @@ import { immichServerStatsWidget } from '.';
categories={['Photos server']}
/>
+### Data
+
+
+
### Screenshots
import screen from './img/screen.png';
diff --git a/apps/docs/docs/widgets/immich-server-stats/index.ts b/apps/docs/docs/widgets/immich-server-stats/index.ts
index 13a1a339e..badfc5a45 100644
--- a/apps/docs/docs/widgets/immich-server-stats/index.ts
+++ b/apps/docs/docs/widgets/immich-server-stats/index.ts
@@ -5,6 +5,7 @@ export const immichServerStatsWidget: WidgetDefinition = {
icon: IconGraph,
name: "Immich Server Stats",
description: "Information about your Immich instance",
+ data: "Displays Immich server statistics including user count, photo/video count, and total storage usage.",
path: "../../widgets/immich-server-stats",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/indexer-manager/index.mdx b/apps/docs/docs/widgets/indexer-manager/index.mdx
index fad8c341b..667427a3a 100644
--- a/apps/docs/docs/widgets/indexer-manager/index.mdx
+++ b/apps/docs/docs/widgets/indexer-manager/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { indexerManagerWidget } from '.';
@@ -16,6 +17,10 @@ import { indexerManagerWidget } from '.';
categories={['Indexer']}
/>
+### Data
+
+
+
### Screenshots
import bigItem from './img/big.png';
diff --git a/apps/docs/docs/widgets/indexer-manager/index.ts b/apps/docs/docs/widgets/indexer-manager/index.ts
index aaa521551..6df3f12b8 100644
--- a/apps/docs/docs/widgets/indexer-manager/index.ts
+++ b/apps/docs/docs/widgets/indexer-manager/index.ts
@@ -5,6 +5,7 @@ export const indexerManagerWidget: WidgetDefinition = {
icon: IconReportSearch,
name: "Indexer manager status",
description: "View the status of your indexers.",
+ data: "Displays media indexer statuses with health indicators and a test-all-connections button.",
path: "../../widgets/indexer-manager",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/media-releases/index.mdx b/apps/docs/docs/widgets/media-releases/index.mdx
index fece199eb..dd51885cf 100644
--- a/apps/docs/docs/widgets/media-releases/index.mdx
+++ b/apps/docs/docs/widgets/media-releases/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { mediaReleasesWidget } from '.';
import { embyIntegration } from '@site/docs/integrations/emby';
@@ -21,6 +22,10 @@ import { plexIntegration } from '@site/docs/integrations/plex';
Provides a list of newly added media or upcoming releases from your media server.
+### Data
+
+
+
### Screenshots
import backdrop from './img/backdrop.png';
diff --git a/apps/docs/docs/widgets/media-releases/index.ts b/apps/docs/docs/widgets/media-releases/index.ts
index 8f2f2644a..133d0d429 100644
--- a/apps/docs/docs/widgets/media-releases/index.ts
+++ b/apps/docs/docs/widgets/media-releases/index.ts
@@ -5,6 +5,7 @@ export const mediaReleasesWidget: WidgetDefinition = {
icon: IconTicket,
name: "Media releases",
description: "Display newly added medias or upcoming releases from different integrations",
+ data: "Displays recently released media items (movies, TV, music, books) with poster or backdrop images and metadata.",
path: "../../widgets/media-releases",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/media-request-list/index.mdx b/apps/docs/docs/widgets/media-request-list/index.mdx
index 2f52a8e1f..6ead3a6d5 100644
--- a/apps/docs/docs/widgets/media-request-list/index.mdx
+++ b/apps/docs/docs/widgets/media-request-list/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -23,6 +24,10 @@ import { overseerrIntegration } from '@site/docs/integrations/overseerr';
Provides a list of all open and recently closed requests. It also provides the functionality to approve or reject requests.
+### Data
+
+
+
### Screenshots
import mediaRequestList from './img/list.png';
diff --git a/apps/docs/docs/widgets/media-request-list/index.ts b/apps/docs/docs/widgets/media-request-list/index.ts
index 8eb9d8bfb..51b894697 100644
--- a/apps/docs/docs/widgets/media-request-list/index.ts
+++ b/apps/docs/docs/widgets/media-request-list/index.ts
@@ -5,6 +5,7 @@ export const mediaRequestListWidget: WidgetDefinition = {
icon: IconZoomQuestion,
name: "Media Request List",
description: "See a list of all media requests from your integration",
+ data: "Displays pending and recent media requests with poster images, availability status, and approve/decline buttons.",
path: "../../widgets/media-request-list",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/media-request-stats/index.mdx b/apps/docs/docs/widgets/media-request-stats/index.mdx
index a7b40f624..31b9ea1ce 100644
--- a/apps/docs/docs/widgets/media-request-stats/index.mdx
+++ b/apps/docs/docs/widgets/media-request-stats/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -23,6 +24,10 @@ import { overseerrIntegration } from '@site/docs/integrations/overseerr';
Provide a statistics overview of your media requests, such as mount of requests, open requests, approvement and rejections.
+### Data
+
+
+
### Supported Integrations
+
### Screenshots
import mediaTable from './img/table.png';
diff --git a/apps/docs/docs/widgets/media-server/index.ts b/apps/docs/docs/widgets/media-server/index.ts
index b9f5ec76f..fdcb97601 100644
--- a/apps/docs/docs/widgets/media-server/index.ts
+++ b/apps/docs/docs/widgets/media-server/index.ts
@@ -5,6 +5,7 @@ export const mediaServerWidget: WidgetDefinition = {
icon: IconVideo,
name: "Media server streams",
description: "Show the current streams on your media servers",
+ data: "Displays active media server streaming sessions with user, device, and currently playing media details.",
path: "../../widgets/media-server",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/media-transcoding/index.mdx b/apps/docs/docs/widgets/media-transcoding/index.mdx
index 0fc280021..92ab86ef4 100644
--- a/apps/docs/docs/widgets/media-transcoding/index.mdx
+++ b/apps/docs/docs/widgets/media-transcoding/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -25,6 +26,10 @@ It shows you the current queue, worker status, and statistics about your transco
+### Data
+
+
+
### Screenshots
import queueCard from './img/queue.png';
diff --git a/apps/docs/docs/widgets/media-transcoding/index.ts b/apps/docs/docs/widgets/media-transcoding/index.ts
index 612a6a08a..d73837e4b 100644
--- a/apps/docs/docs/widgets/media-transcoding/index.ts
+++ b/apps/docs/docs/widgets/media-transcoding/index.ts
@@ -5,6 +5,7 @@ export const mediaTranscodingWidget: WidgetDefinition = {
icon: IconTransform,
name: "Media transcoding",
description: "Statistics, current queue and worker status of your media transcoding",
+ data: "Displays media transcoding workers, queue, and statistics with tabbed worker/queue/statistics views.",
path: "../../widgets/media-transcoding",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/minecraft-server-status/index.mdx b/apps/docs/docs/widgets/minecraft-server-status/index.mdx
index 51101246b..352a7b50b 100644
--- a/apps/docs/docs/widgets/minecraft-server-status/index.mdx
+++ b/apps/docs/docs/widgets/minecraft-server-status/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
@@ -21,6 +22,10 @@ import { minecraftServerStatusWidget } from '.';
Shows the status and amount of players on a Minecraft server. It supports both Java and Bedrock editions, however only public servers are supported which can be reached through the used api of [api.mcsrvstat.us](https://api.mcsrvstat.us).
+### Data
+
+
+
### Screenshots
import javaItem from './img/java.png';
diff --git a/apps/docs/docs/widgets/minecraft-server-status/index.ts b/apps/docs/docs/widgets/minecraft-server-status/index.ts
index b97aea667..a89b0b64c 100644
--- a/apps/docs/docs/widgets/minecraft-server-status/index.ts
+++ b/apps/docs/docs/widgets/minecraft-server-status/index.ts
@@ -5,6 +5,7 @@ export const minecraftServerStatusWidget: WidgetDefinition = {
icon: IconBrandMinecraft,
name: "Minecraft Server Status",
description: "Displays the status of a Minecraft server.",
+ data: "Displays Minecraft server online status, player count, and server icon for Java and Bedrock editions.",
path: "../../widgets/minecraft-server-status",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/network-controller-status/index.mdx b/apps/docs/docs/widgets/network-controller-status/index.mdx
index a01496234..d57e2ec74 100644
--- a/apps/docs/docs/widgets/network-controller-status/index.mdx
+++ b/apps/docs/docs/widgets/network-controller-status/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { unifiControllerIntegration } from '@site/docs/integrations/unifi-controller';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
@@ -22,6 +23,10 @@ import { networkControllerStatusWidget } from '.';
Shows connected users and connected guest devices on wired or wireless networks.
+### Data
+
+
+
### Screenshots
import wifiCard from './img/wifi.png';
diff --git a/apps/docs/docs/widgets/network-controller-status/index.ts b/apps/docs/docs/widgets/network-controller-status/index.ts
index 6b0dc41f5..e293640d5 100644
--- a/apps/docs/docs/widgets/network-controller-status/index.ts
+++ b/apps/docs/docs/widgets/network-controller-status/index.ts
@@ -5,6 +5,7 @@ export const networkControllerStatusWidget: WidgetDefinition = {
icon: IconTopologyFull,
name: "Network Status",
description: "Display connected devices on a network",
+ data: "Displays UniFi network client connection counts for Wi-Fi or wired clients.",
path: "../../widgets/network-controller-status",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/network-controller-summary/index.mdx b/apps/docs/docs/widgets/network-controller-summary/index.mdx
index fe4cd3357..097c3640c 100644
--- a/apps/docs/docs/widgets/network-controller-summary/index.mdx
+++ b/apps/docs/docs/widgets/network-controller-summary/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { unifiControllerIntegration } from '@site/docs/integrations/unifi-controller';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
@@ -22,6 +23,10 @@ import { networkControllerSummaryWidget } from '.';
Shows information whether your WAN is connected, Wi-Fi is active and several other information.
+### Data
+
+
+
### Screenshots
import summaryCard from './img/summary.png';
diff --git a/apps/docs/docs/widgets/network-controller-summary/index.ts b/apps/docs/docs/widgets/network-controller-summary/index.ts
index be10c3531..c2409b34b 100644
--- a/apps/docs/docs/widgets/network-controller-summary/index.ts
+++ b/apps/docs/docs/widgets/network-controller-summary/index.ts
@@ -5,5 +5,6 @@ export const networkControllerSummaryWidget: WidgetDefinition = {
icon: IconTopologyFull,
name: "Network Controller Summary",
description: "Displays the summary of a Network Controller",
+ data: "Displays UniFi network controller status including WAN, internet, Wi-Fi, and VPN connectivity.",
path: "../../widgets/network-controller-summary",
};
diff --git a/apps/docs/docs/widgets/notebook/index.mdx b/apps/docs/docs/widgets/notebook/index.mdx
index 5728e0113..9dc4dff22 100644
--- a/apps/docs/docs/widgets/notebook/index.mdx
+++ b/apps/docs/docs/widgets/notebook/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { notebookWidget } from '.';
@@ -18,6 +19,10 @@ import { notebookWidget } from '.';
The notebook widget focuses on usability and is designed to be as simple as possible to bring a familiar editing experience to regular users.
It is based on Tiptap.dev and supports most of its features.
+### Data
+
+
+
### Screenshots
import editOff from './img/normal.png';
diff --git a/apps/docs/docs/widgets/notebook/index.ts b/apps/docs/docs/widgets/notebook/index.ts
index f477281e1..f58de32d5 100644
--- a/apps/docs/docs/widgets/notebook/index.ts
+++ b/apps/docs/docs/widgets/notebook/index.ts
@@ -5,6 +5,7 @@ export const notebookWidget: WidgetDefinition = {
icon: IconNotes,
name: "Notebook",
description: "A simple notebook widget that supports markdown.",
+ data: "Displays a rich-text editor for note-taking directly on the dashboard (content stored locally).",
path: "../../widgets/notebook",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/notifications/index.mdx b/apps/docs/docs/widgets/notifications/index.mdx
index 0a715ab3c..1f6d40e77 100644
--- a/apps/docs/docs/widgets/notifications/index.mdx
+++ b/apps/docs/docs/widgets/notifications/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -23,6 +24,10 @@ import { gotifyIntegration } from '@site/docs/integrations/gotify';
The notifications widget allows you to display notifications from various integrations in a unified view.
+### Data
+
+
+
### Screenshots
import notificationsScreenshot from './img/notifications.png';
diff --git a/apps/docs/docs/widgets/notifications/index.ts b/apps/docs/docs/widgets/notifications/index.ts
index e1cce49ce..193fb44ef 100644
--- a/apps/docs/docs/widgets/notifications/index.ts
+++ b/apps/docs/docs/widgets/notifications/index.ts
@@ -5,6 +5,7 @@ export const notificationsWidget: WidgetDefinition = {
icon: IconMessage,
name: "Notifications",
description: "Display notification history from an integration",
+ data: "Displays a scrollable list of notification messages from integrations like Gotify, Sonarr, and Radarr.",
path: "../../widgets/notifications",
configuration: {
items: [],
diff --git a/apps/docs/docs/widgets/paperless-ngx/index.mdx b/apps/docs/docs/widgets/paperless-ngx/index.mdx
index 3dd684efd..9839291db 100644
--- a/apps/docs/docs/widgets/paperless-ngx/index.mdx
+++ b/apps/docs/docs/widgets/paperless-ngx/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { paperlessNgxWidget } from '.';
import { paperlessNgxIntegration } from '@site/docs/integrations/paperless-ngx';
@@ -19,6 +20,10 @@ import { paperlessNgxIntegration } from '@site/docs/integrations/paperless-ngx';
This widget displays statistics from your Paperless-ngx instance, including an inbox ratio ring showing how many documents are in your inbox versus total, along with counts for correspondents, tags, and document types.
+### Data
+
+
+
### Supported Integrations
+
### Screenshots
import collapsibleCard from './img/collapsible.png';
diff --git a/apps/docs/docs/widgets/releases/index.ts b/apps/docs/docs/widgets/releases/index.ts
index dbe3c1271..5950d3b32 100644
--- a/apps/docs/docs/widgets/releases/index.ts
+++ b/apps/docs/docs/widgets/releases/index.ts
@@ -5,6 +5,7 @@ export const releasesWidget: WidgetDefinition = {
icon: IconRocket,
name: "Releases",
description: "Displays a list of the current version of the given repositories with the given version regex.",
+ data: "Displays latest software releases from GitHub, GitLab, and other repositories with version info and release notes.",
path: "../../widgets/releases",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/rss-feed/index.mdx b/apps/docs/docs/widgets/rss-feed/index.mdx
index 68bbb1071..271221f59 100644
--- a/apps/docs/docs/widgets/rss-feed/index.mdx
+++ b/apps/docs/docs/widgets/rss-feed/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { rssFeedWidget } from '.';
@@ -17,6 +18,10 @@ import { rssFeedWidget } from '.';
Using the RSS standard, you can integrate most News websites, applications and more on your dashboard.
+### Data
+
+
+
### Screenshots
import screenshot from './img/screenshot.png';
diff --git a/apps/docs/docs/widgets/rss-feed/index.tsx b/apps/docs/docs/widgets/rss-feed/index.tsx
index 3c2026337..0de10ff66 100644
--- a/apps/docs/docs/widgets/rss-feed/index.tsx
+++ b/apps/docs/docs/widgets/rss-feed/index.tsx
@@ -5,6 +5,7 @@ export const rssFeedWidget: WidgetDefinition = {
icon: IconRss,
name: "RSS Feed",
description: "Monitor and display one or more generic RSS, ATOM or JSON feeds.",
+ data: "Displays RSS/Atom feed entries with title, description, enclosure images, and published dates.",
path: "../../widgets/rss-feed",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/smart-home-entity-state/index.mdx b/apps/docs/docs/widgets/smart-home-entity-state/index.mdx
index d101d6376..a604e5f1e 100644
--- a/apps/docs/docs/widgets/smart-home-entity-state/index.mdx
+++ b/apps/docs/docs/widgets/smart-home-entity-state/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -24,6 +25,10 @@ The entity state enables you to display the current state of an entity.
This works with most entities and enables you display almost any data.
It is recommended that you transform data on the integration as much as possible since Homarr's capabilities in transformation are very limited.
+### Data
+
+
+
### Screenshots
import sun from './img/sun.png';
diff --git a/apps/docs/docs/widgets/smart-home-entity-state/index.ts b/apps/docs/docs/widgets/smart-home-entity-state/index.ts
index 1e6f7af53..d2b691941 100644
--- a/apps/docs/docs/widgets/smart-home-entity-state/index.ts
+++ b/apps/docs/docs/widgets/smart-home-entity-state/index.ts
@@ -5,6 +5,7 @@ export const smartHomeEntityStateWidget: WidgetDefinition = {
icon: IconBinaryTree,
name: "Entity State",
description: "Display the state of an entity and toggle it optionally",
+ data: "Displays the current state of a Home Assistant entity with optional toggle action.",
path: "../../widgets/smart-home-entity-state",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx b/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx
index 522c113ca..4872097c5 100644
--- a/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx
+++ b/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { IconAd } from "@tabler/icons-react";
import Tabs from '@theme/Tabs';
@@ -22,6 +23,10 @@ import { homeAssistantIntegration } from '@site/docs/integrations/home-assistant
The execute automation widget allows you to trigger an automation with one click.
+### Data
+
+
+
### Screenshots
import empty from './img/empty.png';
diff --git a/apps/docs/docs/widgets/smart-home-execute-automation/index.ts b/apps/docs/docs/widgets/smart-home-execute-automation/index.ts
index 92b6534aa..657c90467 100644
--- a/apps/docs/docs/widgets/smart-home-execute-automation/index.ts
+++ b/apps/docs/docs/widgets/smart-home-execute-automation/index.ts
@@ -5,6 +5,7 @@ export const smartHomeExecuteAutomationWidget: WidgetDefinition = {
icon: IconBinaryTree,
name: "Execute Automation",
description: "Trigger an automation with one click",
+ data: "Displays a button to trigger a Home Assistant automation with success feedback.",
path: "../../widgets/smart-home-execute-automation",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/speedtest-tracker/index.mdx b/apps/docs/docs/widgets/speedtest-tracker/index.mdx
index 94be18dd7..a0f46e078 100644
--- a/apps/docs/docs/widgets/speedtest-tracker/index.mdx
+++ b/apps/docs/docs/widgets/speedtest-tracker/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { speedtestTrackerWidget } from '.';
import { speedtestTrackerIntegration } from '@site/docs/integrations/speedtest-tracker';
@@ -19,6 +20,10 @@ import { speedtestTrackerIntegration } from '@site/docs/integrations/speedtest-t
This widget displays internet speed test results from your [Speedtest Tracker](https://docs.speedtest-tracker.dev/) instance,
including the latest result, historical averages, and a live chart of the last 12 hours.
+### Data
+
+
+
### Screenshots
import screenshot from './img/screenshot.png';
diff --git a/apps/docs/docs/widgets/speedtest-tracker/index.ts b/apps/docs/docs/widgets/speedtest-tracker/index.ts
index 7b2c46cc8..b5cf4ebff 100644
--- a/apps/docs/docs/widgets/speedtest-tracker/index.ts
+++ b/apps/docs/docs/widgets/speedtest-tracker/index.ts
@@ -5,6 +5,7 @@ export const speedtestTrackerWidget: WidgetDefinition = {
icon: IconSpeedboat,
name: "Speedtest Tracker",
description: "Displays speed test results from your Speedtest Tracker instance.",
+ data: "Displays internet speed test results including latest values, averages, and a history chart.",
path: "../../widgets/speedtest-tracker",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/stock-price/index.mdx b/apps/docs/docs/widgets/stock-price/index.mdx
index 5d9a24c64..ac4699382 100644
--- a/apps/docs/docs/widgets/stock-price/index.mdx
+++ b/apps/docs/docs/widgets/stock-price/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { stockPriceWidget } from '.';
@@ -17,6 +18,10 @@ import { stockPriceWidget } from '.';
Using the Stocks widget, you can show the current stock prices of your favorite companies on your dashboard.
+### Data
+
+
+
### Screenshots
import apple from './img/apple.png';
diff --git a/apps/docs/docs/widgets/stock-price/index.tsx b/apps/docs/docs/widgets/stock-price/index.tsx
index 052560da1..1cac61fe3 100644
--- a/apps/docs/docs/widgets/stock-price/index.tsx
+++ b/apps/docs/docs/widgets/stock-price/index.tsx
@@ -5,6 +5,7 @@ export const stockPriceWidget: WidgetDefinition = {
icon: IconBuildingBank,
name: "Stock Price",
description: "Displays the current stock price of a company.",
+ data: "Displays a stock or cryptocurrency price chart with current price, change, and trend indicator.",
path: "../../widgets/stock-price",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/system-resources/index.mdx b/apps/docs/docs/widgets/system-resources/index.mdx
index 143e2a9cf..a556388d3 100644
--- a/apps/docs/docs/widgets/system-resources/index.mdx
+++ b/apps/docs/docs/widgets/system-resources/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { systemResourcesWidget } from '.';
import { dashDotIntegration } from '@site/docs/integrations/dash-dot';
@@ -22,6 +23,10 @@ import { proxmoxIntegration } from '@site/docs/integrations/proxmox';
Displays CPU, RAM and network of your host in real time
+### Data
+
+
+
### Screenshots
import network from './img/network.png';
diff --git a/apps/docs/docs/widgets/system-resources/index.ts b/apps/docs/docs/widgets/system-resources/index.ts
index ce1e213b4..0f5ffdc1c 100644
--- a/apps/docs/docs/widgets/system-resources/index.ts
+++ b/apps/docs/docs/widgets/system-resources/index.ts
@@ -5,6 +5,7 @@ export const systemResourcesWidget: WidgetDefinition = {
icon: IconGraph,
name: "System Resources",
description: "Displays CPU, RAM and network of your host",
+ data: "Displays real-time system resource usage charts for CPU, memory, GPU, and network over time.",
path: "../../widgets/system-resources",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/timetable/index.mdx b/apps/docs/docs/widgets/timetable/index.mdx
index fe9a1b11c..c5b16fefd 100644
--- a/apps/docs/docs/widgets/timetable/index.mdx
+++ b/apps/docs/docs/widgets/timetable/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { timetableWidget } from '.';
@@ -19,6 +20,10 @@ import { searchChIntegration } from '@site/docs/integrations/search-ch';
The Timetable widget provides real-time departure times for a selected station.
+### Data
+
+
+
### Screenshots
import trainDepartures from './img/train-departures.png';
diff --git a/apps/docs/docs/widgets/timetable/index.ts b/apps/docs/docs/widgets/timetable/index.ts
index 6f36349ee..a2dac2c3c 100644
--- a/apps/docs/docs/widgets/timetable/index.ts
+++ b/apps/docs/docs/widgets/timetable/index.ts
@@ -5,6 +5,7 @@ export const timetableWidget: WidgetDefinition = {
icon: IconBusStop,
name: "Timetable",
description: "Displays departure times for a station.",
+ data: "Displays Swiss public transport departure timetables with line, destination, delay, and platform info.",
path: "../../widgets/timetable",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/tracearr/index.mdx b/apps/docs/docs/widgets/tracearr/index.mdx
index a579d8af3..cd9b813c9 100644
--- a/apps/docs/docs/widgets/tracearr/index.mdx
+++ b/apps/docs/docs/widgets/tracearr/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { tracearrWidget } from '.';
@@ -19,6 +20,10 @@ import { tracearrIntegration } from '@site/docs/integrations/tracearr';
The Tracearr widget provides a real-time monitoring dashboard for your media server activity. It displays active streams, user statistics, recent watching history, and policy violations.
+### Data
+
+
+
### Sections
| Section | Description |
diff --git a/apps/docs/docs/widgets/tracearr/index.ts b/apps/docs/docs/widgets/tracearr/index.ts
index 3804b852e..4f1bed9b6 100644
--- a/apps/docs/docs/widgets/tracearr/index.ts
+++ b/apps/docs/docs/widgets/tracearr/index.ts
@@ -5,6 +5,7 @@ export const tracearrWidget: WidgetDefinition = {
icon: IconActivity,
name: "Tracearr",
description: "Monitor media server streams, user activity, and policy violations.",
+ data: "Displays media server activity including active streams, users, violations, and recent session history.",
path: "../../widgets/tracearr",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/umami/index.mdx b/apps/docs/docs/widgets/umami/index.mdx
index 0d0006054..017395715 100644
--- a/apps/docs/docs/widgets/umami/index.mdx
+++ b/apps/docs/docs/widgets/umami/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { umamiWidget } from '.';
import { umamiIntegration } from '@site/docs/integrations/umami';
@@ -18,6 +19,10 @@ import { umamiIntegration } from '@site/docs/integrations/umami';
The Umami Analytics widget displays key visitor metrics from a website tracked by your [Umami](https://umami.is) instance - pageviews, unique visitors, visits, bounce rate, avg. visit duration, and real-time active visitor count. The widget body can be switched between a visitor/event chart, a multi-event chart, and ranked top pages or referrers lists.
+### Data
+
+
+
### Supported Integrations
+
### Layouts
import screenshotFull from './img/screenshot.png';
diff --git a/apps/docs/docs/widgets/ups/index.ts b/apps/docs/docs/widgets/ups/index.ts
index b54d68647..b927b6e37 100644
--- a/apps/docs/docs/widgets/ups/index.ts
+++ b/apps/docs/docs/widgets/ups/index.ts
@@ -5,6 +5,7 @@ export const upsWidget: WidgetDefinition = {
icon: IconBatteryCharging,
name: "UPS",
description: "Monitor the status of your UPS devices through a NUT server.",
+ data: "Displays UPS status including battery charge, runtime, load, and input/output voltage.",
path: "../../widgets/ups",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/uptime-kuma/index.mdx b/apps/docs/docs/widgets/uptime-kuma/index.mdx
index 3a6592b2e..72c9cd018 100644
--- a/apps/docs/docs/widgets/uptime-kuma/index.mdx
+++ b/apps/docs/docs/widgets/uptime-kuma/index.mdx
@@ -7,6 +7,7 @@ hide_title: true
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
import { uptimeKumaWidget } from '.';
import { uptimeKumaIntegration } from '@site/docs/integrations/uptime-kuma';
@@ -19,6 +20,10 @@ import { uptimeKumaIntegration } from '@site/docs/integrations/uptime-kuma';
This widget displays uptime statistics from your Uptime Kuma status page, including a visual uptime ring, average uptime percentage, and per-status monitor counts.
+### Data
+
+
+
### Supported Integrations
+
### Screenshots

diff --git a/apps/docs/docs/widgets/video/index.tsx b/apps/docs/docs/widgets/video/index.tsx
index e0df87ce0..c534366eb 100644
--- a/apps/docs/docs/widgets/video/index.tsx
+++ b/apps/docs/docs/widgets/video/index.tsx
@@ -5,6 +5,7 @@ export const videoWidget: WidgetDefinition = {
icon: IconDeviceCctv,
name: "Video Stream",
description: "Embed a video stream or video from a camera or a website.",
+ data: "Embeds a video stream or file using Video.js player with autoplay and mute options.",
path: "../../widgets/stock-price",
configuration: {
items: [
diff --git a/apps/docs/docs/widgets/vpn/index.mdx b/apps/docs/docs/widgets/vpn/index.mdx
index 0aa6a1a16..5e0e3f52c 100644
--- a/apps/docs/docs/widgets/vpn/index.mdx
+++ b/apps/docs/docs/widgets/vpn/index.mdx
@@ -4,6 +4,7 @@ description: 'Monitor the status of your VPN integrations.'
hide_title: true
---
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetIntegrations } from '@site/src/components/widgets/integrations';
@@ -21,6 +22,10 @@ services are up, the currently exposed public IP address, and the VPN provider a
When multiple VPN integrations are attached, the widget renders one card per integration so you can compare their
current status at a glance.
+### Data
+
+
+
### Screenshots
import singleIntegrationImage from './img/single.png';
diff --git a/apps/docs/docs/widgets/vpn/index.ts b/apps/docs/docs/widgets/vpn/index.ts
index 0f1590e5b..0c7121c64 100644
--- a/apps/docs/docs/widgets/vpn/index.ts
+++ b/apps/docs/docs/widgets/vpn/index.ts
@@ -5,5 +5,6 @@ export const vpnWidget: WidgetDefinition = {
icon: IconShieldLock,
name: "VPN",
description: "Monitor the connection status, public IP, and provider details of your VPN integrations.",
+ data: "Displays VPN connection status including interface, bytes transferred, handshake time, and endpoint info.",
path: "../../widgets/vpn",
};
diff --git a/apps/docs/docs/widgets/weather/index.mdx b/apps/docs/docs/widgets/weather/index.mdx
index 0ff4081d7..65a1ee872 100644
--- a/apps/docs/docs/widgets/weather/index.mdx
+++ b/apps/docs/docs/widgets/weather/index.mdx
@@ -6,6 +6,7 @@ hide_title: true
import { AddingWidget } from '@site/src/components/widgets/adding';
import { WidgetConfig } from '@site/src/components/widgets/configuration';
+import { WidgetData } from '@site/src/components/widgets/data';
import { WidgetHeader } from '@site/src/components/widgets/header';
import { weatherWidget } from '.';
@@ -17,6 +18,10 @@ import { weatherWidget } from '.';
The Weather Widget uses your location to display the current, highest and lowest temperature.
+### Data
+
+
+
### Screenshots
import forecastWeather from './img/forecast.png';
diff --git a/apps/docs/docs/widgets/weather/index.tsx b/apps/docs/docs/widgets/weather/index.tsx
index ff795f984..a435be42f 100644
--- a/apps/docs/docs/widgets/weather/index.tsx
+++ b/apps/docs/docs/widgets/weather/index.tsx
@@ -5,6 +5,7 @@ export const weatherWidget: WidgetDefinition = {
icon: IconCloud,
name: "Weather",
description: "Displays the current weather information of a set location.",
+ data: "Displays current weather conditions with temperature, wind speed, humidity, and optional multi-day forecast.",
path: "../../widgets/weather",
configuration: {
items: [
diff --git a/apps/docs/src/components/integrations/data.tsx b/apps/docs/src/components/integrations/data.tsx
new file mode 100644
index 000000000..34f7ac630
--- /dev/null
+++ b/apps/docs/src/components/integrations/data.tsx
@@ -0,0 +1,19 @@
+import { IntegrationDefinition } from "@site/src/types";
+import { IconDatabase } from "@tabler/icons-react";
+
+interface IntegrationDataProps {
+ integration: IntegrationDefinition;
+}
+
+export const IntegrationData = ({ integration }: IntegrationDataProps) => {
+ if (!integration.data) {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/apps/docs/src/components/widgets/data.tsx b/apps/docs/src/components/widgets/data.tsx
new file mode 100644
index 000000000..a06202f32
--- /dev/null
+++ b/apps/docs/src/components/widgets/data.tsx
@@ -0,0 +1,19 @@
+import { WidgetDefinition } from "@site/src/types";
+import { IconDatabase } from "@tabler/icons-react";
+
+interface WidgetDataProps {
+ widget: WidgetDefinition;
+}
+
+export const WidgetData = ({ widget }: WidgetDataProps) => {
+ if (!widget.data) {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/apps/docs/src/types.ts b/apps/docs/src/types.ts
index 04b3848b9..e2dfaef00 100644
--- a/apps/docs/src/types.ts
+++ b/apps/docs/src/types.ts
@@ -11,6 +11,7 @@ export interface IntegrationDefinition {
dark: string;
};
path: string;
+ data?: string;
}
export interface WidgetConfigurationItem {
@@ -36,4 +37,5 @@ export interface WidgetDefinition {
description: string;
path: string;
configuration?: WidgetConfiguration;
+ data?: string;
}