Compare commits
14
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1102ef08cd | ||
|
|
f9da71a19b | ||
|
|
b83c8b6546 | ||
|
|
0e4189f693 | ||
|
|
1cf010e9fb | ||
|
|
7e58858353 | ||
|
|
9ed55d57dd | ||
|
|
8cac0b11c1 | ||
|
|
5f011e8456 | ||
|
|
9e1b529288 | ||
|
|
4ad115dd2d | ||
|
|
27209a5dde | ||
|
|
ed33748a49 | ||
|
|
f66469d797 |
No files matched your search
@@ -163,3 +163,65 @@ jobs:
|
||||
run: cp .env.example .env
|
||||
- name: Build
|
||||
run: pnpm turbo build --affected
|
||||
|
||||
memory-regression:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
- name: Build Docker image
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
platforms: linux/amd64
|
||||
context: .
|
||||
push: false
|
||||
load: true
|
||||
tags: homarr-memory-test
|
||||
network: host
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
env:
|
||||
SKIP_ENV_VALIDATION: true
|
||||
- name: Start container and measure memory
|
||||
run: |
|
||||
docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test
|
||||
# Wait for container to be healthy (up to 60s)
|
||||
healthy=false
|
||||
for i in $(seq 1 30); do
|
||||
if curl -sf http://localhost:17575/api/health 2>/dev/null; then
|
||||
echo "Container healthy after $((i * 2))s"
|
||||
healthy=true
|
||||
break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
if [ "$healthy" != "true" ]; then
|
||||
echo "ERROR: Container never became healthy"
|
||||
docker logs homarr-mem-test --tail 50
|
||||
exit 1
|
||||
fi
|
||||
# Warm up: hit the dashboard page a few times
|
||||
for i in $(seq 1 5); do
|
||||
curl -sf http://localhost:17575/ > /dev/null 2>&1 || true
|
||||
sleep 2
|
||||
done
|
||||
# Measure RSS after warmup
|
||||
MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||')
|
||||
echo "Raw memory: $MEM_KB"
|
||||
# Convert to numeric MB (handles GiB and MiB suffixes)
|
||||
MEM_NUM=$(echo "$MEM_KB" | awk '{
|
||||
if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 }
|
||||
else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 }
|
||||
else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 }
|
||||
else { print $1 / 1048576 }
|
||||
}')
|
||||
echo "Memory usage: ${MEM_NUM} MB"
|
||||
MAX_MB=700
|
||||
if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then
|
||||
echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold"
|
||||
docker logs homarr-mem-test --tail 50
|
||||
exit 1
|
||||
fi
|
||||
echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB"
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
- uses: actions/setup-node@v6
|
||||
if: env.SKIP_RELEASE == 'false'
|
||||
with:
|
||||
node-version: 24.17.0
|
||||
node-version: 24.18.0
|
||||
package-manager-cache: false
|
||||
- run: npm i -g pnpm
|
||||
if: env.SKIP_RELEASE == 'false'
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
[tools]
|
||||
node = "24.17.0"
|
||||
node = "24.18.0"
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode",
|
||||
"oxc.oxc-vscode",
|
||||
"yoavbls.pretty-ts-errors",
|
||||
"million.million-lint",
|
||||
"lokalise.i18n-ally"
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
## [1.68.1](https://github.com/homarr-labs/homarr/compare/v1.68.0...v1.68.1) (2026-06-30)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* make source maps opt-in to restore v1.67.0 memory baseline ([57ef0af](https://github.com/homarr-labs/homarr/commit/57ef0af4a252ea39727caeba7e13587dabc6254e)), closes [#6123](https://github.com/homarr-labs/homarr/issues/6123)
|
||||
* revert production source maps to restore v1.67.0 memory baseline ([60a69e3](https://github.com/homarr-labs/homarr/commit/60a69e31efc7168b8f4309daf75954d7730d883b)), closes [#6123](https://github.com/homarr-labs/homarr/issues/6123)
|
||||
|
||||
## [1.68.0](https://github.com/homarr-labs/homarr/compare/v1.67.0...v1.68.0) (2026-06-26)
|
||||
|
||||
### Features
|
||||
|
||||
+185
-4
@@ -1,12 +1,193 @@
|
||||
# ── CODEOWNERS ───────────────────────────────────────
|
||||
* @homarr-labs/maintainers
|
||||
|
||||
# Specific features / integrations
|
||||
# Glueten
|
||||
apps/docs/docs/integrations/glueten @Lok3sh-kumar
|
||||
# Specific features / integrations
|
||||
# These owners come from the PR that introduced each integration implementation.
|
||||
# Specific rules override the global fallback because CODEOWNERS uses the last
|
||||
# matching pattern; do not include @homarr-labs/maintainers here unless they
|
||||
# should also be requested for that integration.
|
||||
|
||||
# AdGuard Home - introduced in https://github.com/homarr-labs/homarr/pull/929 by @hillaliy
|
||||
apps/docs/docs/integrations/adguard-home @hillaliy
|
||||
packages/integrations/src/adguard-home @hillaliy
|
||||
|
||||
# Anchor - introduced in https://github.com/homarr-labs/homarr/pull/5040 by @ohmzi
|
||||
apps/docs/docs/integrations/anchor @ohmzi
|
||||
packages/integrations/src/anchor @ohmzi
|
||||
|
||||
# ArchiveTeam Warrior - introduced in https://github.com/homarr-labs/homarr/pull/5784 by @darbyjack
|
||||
apps/docs/docs/integrations/archive-team-warrior @darbyjack
|
||||
packages/integrations/src/archive-team-warrior @darbyjack
|
||||
|
||||
# Audiobookshelf - introduced in https://github.com/homarr-labs/homarr/pull/5910 by @ajnart
|
||||
apps/docs/docs/integrations/audiobookshelf @ajnart
|
||||
packages/integrations/src/audiobookshelf @ajnart
|
||||
|
||||
# Beszel - introduced in https://github.com/homarr-labs/homarr/pull/5900 by @ajnart
|
||||
apps/docs/docs/integrations/beszel @ajnart
|
||||
packages/integrations/src/beszel @ajnart
|
||||
|
||||
# Codeberg - introduced in https://github.com/homarr-labs/homarr/pull/3253 by @Aandree5
|
||||
apps/docs/docs/integrations/codeberg @Aandree5
|
||||
packages/integrations/src/codeberg @Aandree5
|
||||
|
||||
# Coolify - introduced in https://github.com/homarr-labs/homarr/pull/4789 by @Rhiz3K
|
||||
apps/docs/docs/integrations/coolify @Rhiz3K
|
||||
packages/integrations/src/coolify @Rhiz3K
|
||||
|
||||
# Dash. - introduced in https://github.com/homarr-labs/homarr/pull/1541 by @manuel-rw
|
||||
apps/docs/docs/integrations/dash-dot @manuel-rw
|
||||
packages/integrations/src/dashdot @manuel-rw
|
||||
|
||||
# Docker Hub - introduced in https://github.com/homarr-labs/homarr/pull/3253 by @Aandree5
|
||||
apps/docs/docs/integrations/docker-hub @Aandree5
|
||||
packages/integrations/src/docker-hub @Aandree5
|
||||
|
||||
# Emby - introduced in https://github.com/homarr-labs/homarr/pull/2466 by @Meierschlumpf
|
||||
apps/docs/docs/integrations/emby @Meierschlumpf
|
||||
packages/integrations/src/emby @Meierschlumpf
|
||||
|
||||
# GitHub - introduced in https://github.com/homarr-labs/homarr/pull/3253 by @Aandree5
|
||||
apps/docs/docs/integrations/github @Aandree5
|
||||
packages/integrations/src/github @Aandree5
|
||||
|
||||
# GitHub Container Registry - introduced in https://github.com/homarr-labs/homarr/pull/3727 by @Aandree5
|
||||
apps/docs/docs/integrations/github-containerregistry @Aandree5
|
||||
packages/integrations/src/github-container-registry @Aandree5
|
||||
|
||||
# GitLab - introduced in https://github.com/homarr-labs/homarr/pull/3253 by @Aandree5
|
||||
apps/docs/docs/integrations/gitlab @Aandree5
|
||||
packages/integrations/src/gitlab @Aandree5
|
||||
|
||||
# Glances - introduced in https://github.com/homarr-labs/homarr/pull/5102 by @manuel-rw
|
||||
apps/docs/docs/integrations/glances @manuel-rw
|
||||
packages/integrations/src/glances @manuel-rw
|
||||
|
||||
# Gluetun - introduced in https://github.com/homarr-labs/homarr/pull/5812 by @Lok3sh-kumar
|
||||
apps/docs/docs/integrations/gluetun @Lok3sh-kumar
|
||||
packages/integrations/src/gluetun @Lok3sh-kumar
|
||||
|
||||
# Exempt Renovate‑managed files (no owners)
|
||||
# Gotify - introduced in https://github.com/homarr-labs/homarr/pull/5847 by @Nerdy-Technician
|
||||
apps/docs/docs/integrations/gotify @Nerdy-Technician
|
||||
packages/integrations/src/gotify @Nerdy-Technician
|
||||
|
||||
# Home Assistant - introduced in https://github.com/homarr-labs/homarr/pull/578 by @manuel-rw
|
||||
apps/docs/docs/integrations/home-assistant @manuel-rw
|
||||
packages/integrations/src/homeassistant @manuel-rw
|
||||
|
||||
# ICal - introduced in https://github.com/homarr-labs/homarr/pull/3980 by @NicolasNewman
|
||||
apps/docs/docs/integrations/ical @NicolasNewman
|
||||
packages/integrations/src/ical @NicolasNewman
|
||||
|
||||
# Immich - introduced in https://github.com/homarr-labs/homarr/pull/5165 by @manuel-rw
|
||||
apps/docs/docs/integrations/immich @manuel-rw
|
||||
packages/integrations/src/immich @manuel-rw
|
||||
|
||||
# Jellyfin - introduced in https://github.com/homarr-labs/homarr/pull/672 by @manuel-rw
|
||||
apps/docs/docs/integrations/jellyfin @manuel-rw
|
||||
packages/integrations/src/jellyfin @manuel-rw
|
||||
|
||||
# Jellyseerr - introduced in https://github.com/homarr-labs/homarr/pull/774 by @manuel-rw
|
||||
apps/docs/docs/integrations/jellyseerr @manuel-rw
|
||||
packages/integrations/src/jellyseerr @manuel-rw
|
||||
|
||||
# LinuxServer.io - introduced in https://github.com/homarr-labs/homarr/pull/3607 by @Aandree5
|
||||
apps/docs/docs/integrations/linux-server-io @Aandree5
|
||||
packages/integrations/src/linuxserverio @Aandree5
|
||||
|
||||
# Navidrome - introduced in https://github.com/homarr-labs/homarr/pull/5910 by @ajnart
|
||||
apps/docs/docs/integrations/navidrome @ajnart
|
||||
packages/integrations/src/navidrome @ajnart
|
||||
|
||||
# Nextcloud - introduced in https://github.com/homarr-labs/homarr/pull/2501 by @manuel-rw
|
||||
apps/docs/docs/integrations/nextcloud @manuel-rw
|
||||
packages/integrations/src/nextcloud @manuel-rw
|
||||
|
||||
# npm - introduced in https://github.com/homarr-labs/homarr/pull/3253 by @Aandree5
|
||||
apps/docs/docs/integrations/npm @Aandree5
|
||||
packages/integrations/src/npm @Aandree5
|
||||
|
||||
# ntfy - introduced in https://github.com/homarr-labs/homarr/pull/2900 by @itzTheMeow
|
||||
apps/docs/docs/integrations/ntfy @ajnart @manuel-rw
|
||||
packages/integrations/src/ntfy @ajnart @manuel-rw
|
||||
|
||||
# OpenMediaVault - introduced in https://github.com/homarr-labs/homarr/pull/1142 by @hillaliy
|
||||
apps/docs/docs/integrations/open-media-vault @hillaliy
|
||||
packages/integrations/src/openmediavault @hillaliy
|
||||
|
||||
# OPNsense - introduced in https://github.com/homarr-labs/homarr/pull/3424 by @Oupsman
|
||||
apps/docs/docs/integrations/opnsense @Oupsman
|
||||
packages/integrations/src/opnsense @Oupsman
|
||||
|
||||
# Overseerr - introduced in https://github.com/homarr-labs/homarr/pull/774 by @manuel-rw
|
||||
apps/docs/docs/integrations/overseerr @manuel-rw
|
||||
packages/integrations/src/overseerr @manuel-rw
|
||||
|
||||
# Paperless-ngx - introduced in https://github.com/homarr-labs/homarr/pull/5910 by @ajnart
|
||||
apps/docs/docs/integrations/paperless-ngx @ajnart
|
||||
packages/integrations/src/paperless-ngx @ajnart
|
||||
|
||||
# PeaNUT - introduced in https://github.com/homarr-labs/homarr/pull/5862 by @afonsojramos
|
||||
apps/docs/docs/integrations/peanut @afonsojramos
|
||||
packages/integrations/src/peanut @afonsojramos
|
||||
|
||||
# Pi-hole - introduced in https://github.com/homarr-labs/homarr/pull/521 by @Meierschlumpf
|
||||
apps/docs/docs/integrations/pi-hole @Meierschlumpf
|
||||
packages/integrations/src/pi-hole @Meierschlumpf
|
||||
|
||||
# Plex - introduced in https://github.com/homarr-labs/homarr/pull/1342 by @hillaliy
|
||||
apps/docs/docs/integrations/plex @hillaliy
|
||||
packages/integrations/src/plex @hillaliy
|
||||
|
||||
# Prowlarr - introduced in https://github.com/homarr-labs/homarr/pull/965 by @hillaliy
|
||||
apps/docs/docs/integrations/prowlarr @hillaliy
|
||||
packages/integrations/src/prowlarr @hillaliy
|
||||
|
||||
# Proxmox - introduced in https://github.com/homarr-labs/homarr/pull/1969 by @Meierschlumpf
|
||||
apps/docs/docs/integrations/proxmox @Meierschlumpf
|
||||
packages/integrations/src/proxmox @Meierschlumpf
|
||||
|
||||
# Quay - introduced in https://github.com/homarr-labs/homarr/pull/3607 by @Aandree5
|
||||
apps/docs/docs/integrations/quay @Aandree5
|
||||
packages/integrations/src/quay @Aandree5
|
||||
|
||||
# search.ch - introduced in https://github.com/homarr-labs/homarr/pull/5180 by @Meierschlumpf
|
||||
apps/docs/docs/integrations/search-ch @Meierschlumpf
|
||||
packages/integrations/src/search-ch @Meierschlumpf
|
||||
|
||||
# Speedtest Tracker - introduced in https://github.com/homarr-labs/homarr/pull/5363 by @kylegrieder
|
||||
apps/docs/docs/integrations/speedtest-tracker @kylegrieder
|
||||
packages/integrations/src/speedtest-tracker @kylegrieder
|
||||
|
||||
# Technitium DNS - introduced in https://github.com/homarr-labs/homarr/pull/5832 by @lopsch
|
||||
apps/docs/docs/integrations/technitium-dns @lopsch
|
||||
packages/integrations/src/technitium @lopsch
|
||||
|
||||
# Tracearr - introduced in https://github.com/homarr-labs/homarr/pull/5060 by @StrandedTurtle
|
||||
apps/docs/docs/integrations/tracearr @StrandedTurtle
|
||||
packages/integrations/src/tracearr @StrandedTurtle
|
||||
|
||||
# TrueNAS - introduced in https://github.com/homarr-labs/homarr/pull/3745 by @manuel-rw
|
||||
apps/docs/docs/integrations/truenas @manuel-rw @afonsojramos
|
||||
packages/integrations/src/truenas @manuel-rw @afonsojramos
|
||||
|
||||
# Umami - introduced in https://github.com/homarr-labs/homarr/pull/5362 by @febrile42
|
||||
apps/docs/docs/integrations/umami @febrile42
|
||||
packages/integrations/src/umami @febrile42
|
||||
|
||||
# UniFi Controller - introduced in https://github.com/homarr-labs/homarr/pull/2236 by @pitschi
|
||||
apps/docs/docs/integrations/unifi-controller @pitschi
|
||||
packages/integrations/src/unifi-controller @pitschi
|
||||
|
||||
# Unraid - introduced in https://github.com/homarr-labs/homarr/pull/4439 by @manuel-rw
|
||||
apps/docs/docs/integrations/unraid @manuel-rw
|
||||
packages/integrations/src/unraid @manuel-rw
|
||||
|
||||
# Uptime Kuma - introduced in https://github.com/homarr-labs/homarr/pull/5910 by @ajnart
|
||||
apps/docs/docs/integrations/uptime-kuma @ajnart
|
||||
packages/integrations/src/uptime-kuma @ajnart
|
||||
|
||||
# Exempt Renovate-managed files (no owners)
|
||||
package.json
|
||||
**/package.json
|
||||
package-lock.json
|
||||
|
||||
+2
-15
@@ -1,4 +1,4 @@
|
||||
FROM node:24.17.0-alpine AS base
|
||||
FROM node:24.18.0-alpine AS base
|
||||
|
||||
FROM base AS builder
|
||||
RUN apk add --no-cache libc6-compat
|
||||
@@ -20,17 +20,6 @@ ARG DISABLE_REDIS_LOGS='true'
|
||||
|
||||
RUN corepack enable pnpm && pnpm build
|
||||
|
||||
# The standalone output tracing omits server chunk source maps (.next/server/**/*.map), which is
|
||||
# where production Node stack frames point. Copy the .map files into the standalone tree (preserving
|
||||
# directory structure) so the existing standalone COPY ships them, keeping traces readable.
|
||||
# See https://github.com/homarr-labs/homarr/issues/5891
|
||||
RUN cd apps/nextjs/.next/server && \
|
||||
find . -name '*.map' | while IFS= read -r map; do \
|
||||
dest="../standalone/apps/nextjs/.next/server/$map"; \
|
||||
mkdir -p "$(dirname "$dest")"; \
|
||||
cp "$map" "$dest"; \
|
||||
done
|
||||
|
||||
FROM base AS runner
|
||||
WORKDIR /app
|
||||
|
||||
@@ -53,6 +42,7 @@ RUN mkdir -p /var/cache/nginx && \
|
||||
|
||||
COPY --from=builder /app/apps/nextjs/next.config.ts .
|
||||
COPY --from=builder /app/apps/nextjs/package.json .
|
||||
COPY --from=builder /app/pnpm-workspace.yaml ./pnpm-workspace.yaml
|
||||
|
||||
COPY --from=builder /app/node_modules/better-sqlite3/build/Release/better_sqlite3.node /app/build/better_sqlite3.node
|
||||
|
||||
@@ -75,9 +65,6 @@ ENV DB_DRIVER='better-sqlite3'
|
||||
ENV AUTH_PROVIDERS='credentials'
|
||||
ENV REDIS_IS_EXTERNAL='false'
|
||||
ENV NODE_ENV='production'
|
||||
# Tell Node to symbolicate stack traces using the shipped .map files so production logs
|
||||
# show original source locations instead of minified frames, see https://github.com/homarr-labs/homarr/issues/5891
|
||||
ENV NODE_OPTIONS='--enable-source-maps'
|
||||
|
||||
ENTRYPOINT [ "/app/entrypoint.sh" ]
|
||||
CMD ["sh", "run.sh"]
|
||||
@@ -316,7 +316,6 @@ You can drag and drop items in to this category in the edit mode.
|
||||
Categories will have a big space before and after them in the edit mode to
|
||||
enable you to drag and drop items outside the category.
|
||||
You can also collapse or open categories in edit mode to facilitate your editing process.
|
||||
Use the category menu to open every app in that category in new tabs, or use the board header action to open every app on the current board layout in new tabs.
|
||||
|
||||
:::note
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
<img src="https://raw.githubusercontent.com/homarr-labs/charts/refs/heads/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo">
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
A Helm chart to deploy homarr for Kubernetes
|
||||
|
||||
@@ -383,6 +383,7 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack
|
||||
| containerPorts | object | `{"http":{"port":7575,"protocol":"TCP"}}` | containerPorts defines the ports to open on the container. It is a map where each entry specifies: - `port` (int) (required): The port number to expose inside the container. - `protocol` (string) (required): The network protocol (TCP or UDP) used for the port. - `disabled` (bool) : Optional flag to disable this port (defaults to false). Can be overridden via Helm values. By default, this configuration exposes TCP port 7575 with the name `http`. |
|
||||
| database.migrationEnabled | bool | `true` | Database migration configuration. DB_MIGRATIONS_DISABLED Set to `true` to disable database migrations. Migrations are enabled by default (`false`). |
|
||||
| database.type | string | `"sqlite"` | Database type: sqlite, mysql or postgresql |
|
||||
| env.AUTH_COOKIE_PREFIX | string | `"homarr"` | Prefix used for all authentication cookies. Change if you run another Auth.js/NextAuth app on the same hostname to avoid cookie name collisions. Only letters, numbers, hyphens and underscores. |
|
||||
| env.AUTH_LDAP_BASE | string | `nil` | Base dn of your LDAP server |
|
||||
| env.AUTH_LDAP_BIND_DN | string | `nil` | User used for finding users and groups |
|
||||
| env.AUTH_LDAP_GROUP_CLASS | string | `"groupOfUniqueNames"` | Class used for querying groups |
|
||||
@@ -395,7 +396,6 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack
|
||||
| env.AUTH_LDAP_USERNAME_FILTER_EXTRA_ARG | string | `nil` | Extra arguments for user search filter (& based) |
|
||||
| env.AUTH_LDAP_USER_MAIL_ATTRIBUTE | string | `"mail"` | Attribute used for mail field |
|
||||
| env.AUTH_LOGOUT_REDIRECT_URL | string | `nil` | URL to redirect to after clicking logging out. |
|
||||
| env.AUTH_COOKIE_PREFIX | string | `"homarr"` | Prefix used for all authentication cookies. Change if you run another Auth.js/NextAuth app on the same hostname to avoid cookie name collisions. Only letters, numbers, hyphens and underscores. |
|
||||
| env.AUTH_OIDC_AUTO_LOGIN | string | `"false"` | Automatically redirect to OIDC login |
|
||||
| env.AUTH_OIDC_CLIENT_NAME | string | `"OIDC"` | Display name of provider (in login screen) |
|
||||
| env.AUTH_OIDC_GROUPS_ATTRIBUTE | string | `"groups"` | Attribute used for groups (roles) claim |
|
||||
|
||||
@@ -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
|
||||
|
||||
<IntegrationData integration={adguardHomeIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const adguardHomeIntegration: IntegrationDefinition = {
|
||||
"AdGuard Home is a network-wide software for blocking ads and trackers, providing a safer and faster internet experience.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/adguard-home.svg",
|
||||
path: "../../integrations/adguard-home",
|
||||
data: "Fetches DNS query statistics, blocking status, and filtering rules from AdGuard Home.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Anchor is a self-hosted note-taking application."
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { anchorNoteWidget } from '@site/docs/widgets/anchor-note';
|
||||
|
||||
The Anchor integration lets Homarr connect to your Anchor instance so you can display and edit selected notes directly from your dashboard.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={anchorIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const anchorIntegration: IntegrationDefinition = {
|
||||
"Anchor is a self-hosted note-taking application. The Anchor integration lets Homarr display and edit selected notes directly from the dashboard.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/anchor.svg",
|
||||
path: "../../integrations/anchor",
|
||||
data: "Fetches and updates notes from an Anchor note-taking server.",
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "ArchiveTeam Warrior"
|
||||
description: "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."
|
||||
hide_title: true
|
||||
---
|
||||
|
||||
import { IntegrationData } from "@site/src/components/integrations/data";
|
||||
import { IntegrationHeader } from "@site/src/components/integrations/header";
|
||||
import { AddingIntegration } from "@site/src/components/integrations/adding";
|
||||
import { IntegrationSecrets } from "@site/src/components/integrations/secrets";
|
||||
import { archiveTeamWarriorIntegration } from ".";
|
||||
|
||||
<IntegrationHeader integration={archiveTeamWarriorIntegration} categories={["archiving"]} />
|
||||
|
||||
The ArchiveTeam Warrior integration lets Homarr connect to your ArchiveTeam Warrior instance so you can manage and monitor your archiving tasks directly from your dashboard.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={archiveTeamWarriorIntegration} />
|
||||
|
||||
### Adding the integration
|
||||
|
||||
<AddingIntegration />
|
||||
|
||||
### Secrets
|
||||
|
||||
ArchiveTeam Warrior does not require authentication by default. If your instance is protected with basic authentication, you can provide a username and password.
|
||||
|
||||
<IntegrationSecrets
|
||||
secrets={[
|
||||
{
|
||||
credentials: [],
|
||||
steps: [],
|
||||
},
|
||||
{
|
||||
credentials: ["username", "password"],
|
||||
steps: [],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
@@ -0,0 +1,10 @@
|
||||
import { IntegrationDefinition } from "@site/src/types";
|
||||
|
||||
export const archiveTeamWarriorIntegration: IntegrationDefinition = {
|
||||
name: "ArchiveTeam Warrior",
|
||||
description:
|
||||
"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.",
|
||||
};
|
||||
@@ -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
|
||||
|
||||
<IntegrationData integration={aria2Integration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const aria2Integration: IntegrationDefinition = {
|
||||
"Lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/PapirusDevelopmentTeam/papirus_icons@latest/src/system_downloads_3.svg",
|
||||
path: "../../integrations/aria2",
|
||||
data: "Manages and monitors Aria2 downloads including active, waiting, and stopped transfers.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Audiobookshelf is a self-hosted audiobook and podcast server that
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { audioStatsWidget } from '@site/docs/widgets/audio-stats';
|
||||
|
||||
Audiobookshelf provides library statistics including audiobook and podcast counts, listening time, and active sessions.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={audiobookshelfIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const audiobookshelfIntegration: IntegrationDefinition = {
|
||||
"Audiobookshelf is a self-hosted audiobook and podcast server that lets you manage and stream your audio library.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/audiobookshelf.svg",
|
||||
path: "../../integrations/audiobookshelf",
|
||||
data: "Fetches library statistics, listening time, and active sessions from Audiobookshelf.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Beszel is a lightweight server monitoring platform with Docker sta
|
||||
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';
|
||||
@@ -27,6 +28,10 @@ Beszel monitors your servers in real time via lightweight agents, collecting CPU
|
||||
|
||||
<img src={beszelDashboard} alt="Beszel dashboard overview showing all four widgets" />
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={beszelIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const beszelIntegration: IntegrationDefinition = {
|
||||
"Beszel is a lightweight server monitoring platform with Docker stats, historical data, and alert functions.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/beszel.svg",
|
||||
path: "../../integrations/beszel",
|
||||
data: "Fetches server monitoring data including system stats, containers, SMART devices, alerts, and real-time metrics.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Codeberg is a non-profit, community-driven platform for hosting an
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Version Control', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={codebergIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const codebergIntegration: IntegrationDefinition = {
|
||||
"Codeberg is a non-profit, community-driven platform for hosting and collaborating on software projects.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/codeberg.svg",
|
||||
path: "../../integrations/codeberg",
|
||||
data: "Fetches latest releases and repository metadata from a Codeberg instance.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: 'Self-hosted PaaS and deployment platform'
|
||||
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 { coolifyWidget } from '../../widgets/coolify';
|
||||
categories={['System monitoring', 'Deployment']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={coolifyIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -5,4 +5,5 @@ export const coolifyIntegration: IntegrationDefinition = {
|
||||
description: "Self-hosted PaaS and deployment platform",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/coolify.svg",
|
||||
path: "../../integrations/coolify",
|
||||
data: "Fetches Coolify instance information including applications, services, servers, projects, and health status.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Dash. is a system performance and resource monitoring tool"
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { systemResourcesWidget } from '@site/docs/widgets/system-resources';
|
||||
categories={['System monitoring']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={dashDotIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const dashDotIntegration: IntegrationDefinition = {
|
||||
description: "Dash. is a system performance and resource monitoring tool",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/dashdot.png",
|
||||
path: "../../integrations/dash-dot",
|
||||
data: "Fetches system health monitoring data including CPU, RAM, storage, network, and GPU information.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Deluge is a lightweight, Free Software, cross-platform BitTorrent
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { downloadsWidget } from '@site/docs/widgets/downloads';
|
||||
categories={['Torrent client']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={delugeIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const delugeIntegration: IntegrationDefinition = {
|
||||
description: "Deluge is a lightweight, Free Software, cross-platform BitTorrent client.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/deluge.svg",
|
||||
path: "../../integrations/deluge",
|
||||
data: "Manages and monitors Deluge torrents including progress, speeds, and pause/resume/delete actions.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Docker Hub is a cloud-based registry service for sharing and manag
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Container Management', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={dockerHubIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const dockerHubIntegration: IntegrationDefinition = {
|
||||
description: "Docker Hub is a cloud-based registry service for sharing and managing Docker images.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg",
|
||||
path: "../../integrations/docker-hub",
|
||||
data: "Fetches container image tags and repository metadata from Docker Hub.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Docker is a platform where you can run your applications in contai
|
||||
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 {IntegrationSecrets} from '@site/src/components/integrations/secrets';
|
||||
@@ -17,6 +18,10 @@ import { dockerContainersWidget } from '@site/docs/widgets/docker-containers';
|
||||
categories={['Containers']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={dockerIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const dockerIntegration: IntegrationDefinition = {
|
||||
"Docker is a platform where you can run your applications in containers, allowing for easy deployment and management of applications.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg",
|
||||
path: "../../integrations/docker",
|
||||
data: "Fetches Docker container information including status, CPU, and memory usage via the Docker socket.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Emby is a media server platform that allows you to organize, manag
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { mediaReleasesWidget } from '@site/docs/widgets/media-releases';
|
||||
categories={['Media server']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={embyIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const embyIntegration: IntegrationDefinition = {
|
||||
"Emby is a media server platform that allows you to organize, manage, and stream your personal media collection.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/emby.svg",
|
||||
path: "../../integrations/emby",
|
||||
data: "Fetches active streams and recently added media from an Emby media server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "GitHub Container Registry is a platform for hosting and managing p
|
||||
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 { releasesWidget } from '@site/docs/widgets/releases';
|
||||
/>
|
||||
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={gitHubContainerRegistryIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -8,4 +8,5 @@ export const gitHubContainerRegistryIntegration: IntegrationDefinition = {
|
||||
dark: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/github-light.svg",
|
||||
},
|
||||
path: "../../integrations/github-packages",
|
||||
data: "Fetches container image tags and package metadata from GitHub Container Registry.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "GitHub is a web-based platform for version control and collaborati
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Version Control', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={githubIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -8,4 +8,5 @@ export const githubIntegration: IntegrationDefinition = {
|
||||
dark: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/github-light.svg",
|
||||
},
|
||||
path: "../../integrations/github",
|
||||
data: "Fetches releases and repository metadata from GitHub using the Octokit API.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "GitLab is a web-based DevOps lifecycle tool that provides a Git re
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Version Control', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={gitlabIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const gitlabIntegration: IntegrationDefinition = {
|
||||
description: "GitLab is a web-based DevOps lifecycle tool that provides a Git repository manager.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gitlab.svg",
|
||||
path: "../../integrations/gitlab",
|
||||
data: "Fetches releases and project metadata from a GitLab instance.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Glances is a cross-platform system monitoring tool."
|
||||
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 { healthMonitoringWidget } from '@site/docs/widgets/health-monitoring';
|
||||
categories={['System Monitoring']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={glancesIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -8,4 +8,5 @@ export const glancesIntegration: IntegrationDefinition = {
|
||||
dark: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/glances-light.svg",
|
||||
},
|
||||
path: "../../integrations/glances",
|
||||
data: "Fetches system health data including CPU, RAM, disk, network, GPU, and sensors from Glances.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: 'Connect Gluetun to Homarr as a VPN integration.'
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { vpnWidget } from '@site/docs/widgets/vpn';
|
||||
[Gluetun](https://github.com/qdm12/gluetun) exposes a control server that Homarr can query to report the VPN tunnel
|
||||
status, DNS status, public IP address, and active provider details in the VPN widget.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={gluetunIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
|
||||
<IntegrationCapabilites
|
||||
|
||||
@@ -5,4 +5,5 @@ export const gluetunIntegration: IntegrationDefinition = {
|
||||
description: "VPN control server integration for Homarr's VPN widget.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gluetun.svg",
|
||||
path: "../../integrations/gluetun",
|
||||
data: "Fetches VPN status, public IP, and DNS information from a Gluetun VPN container.",
|
||||
};
|
||||
@@ -6,6 +6,7 @@ hide_title: true
|
||||
|
||||
import { notificationsWidget } from '@site/docs/widgets/notifications';
|
||||
import { AddingIntegration } from '@site/src/components/integrations/adding';
|
||||
import { IntegrationData } from '@site/src/components/integrations/data';
|
||||
import { IntegrationHeader } from '@site/src/components/integrations/header';
|
||||
import { IntegrationSecrets } from '@site/src/components/integrations/secrets';
|
||||
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
|
||||
@@ -16,6 +17,10 @@ import { gotifyIntegration } from '.';
|
||||
categories={['Notifications', 'Messaging']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={gotifyIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const gotifyIntegration: IntegrationDefinition = {
|
||||
description: "Gotify is a simple, self-hosted server for sending and receiving messages in real time.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gotify.svg",
|
||||
path: "../../integrations/gotify",
|
||||
data: "Fetches recent push notification messages from a Gotify server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Home Assistant is an open-source home automation platform that foc
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { smartHomeExecuteAutomationWidget } from '@site/docs/widgets/smart-home-
|
||||
categories={['Smart Home', 'Automation']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={homeAssistantIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const homeAssistantIntegration: IntegrationDefinition = {
|
||||
"Home Assistant is an open-source home automation platform that focuses on privacy and local control, allowing you to automate and control your smart home devices.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/home-assistant.svg",
|
||||
path: "../../integrations/home-assistant",
|
||||
data: "Fetches entity states, triggers automations, toggles entities, and retrieves calendar events from Home Assistant.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "iCal is a standard for calendar data exchange, allowing users to s
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { calendarWidget } from '@site/docs/widgets/calendar';
|
||||
categories={['Calendar']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={icalIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const icalIntegration: IntegrationDefinition = {
|
||||
"iCal is a standard for calendar data exchange, allowing users to share and manage calendar events across different platforms.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ical.svg",
|
||||
path: "../../integrations/ical",
|
||||
data: "Fetches and parses an iCal/ICS calendar feed to retrieve calendar events.",
|
||||
};
|
||||
@@ -9,6 +9,7 @@ import { immichAlbumCarouselWidget } from '../../widgets/immich-album-carousel';
|
||||
} from '@site/src/components/integrations/header';
|
||||
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
|
||||
import { AddingIntegration } from '@site/src/components/integrations/adding';
|
||||
import { IntegrationData } from '@site/src/components/integrations/data';
|
||||
import { IntegrationSecrets } from '@site/src/components/integrations/secrets';
|
||||
import { immichIntegration } from '.';
|
||||
import { immichServerStatsWidget } from '../../widgets/immich-server-stats';
|
||||
@@ -19,6 +20,10 @@ import { immichServerStatsWidget } from '../../widgets/immich-server-stats';
|
||||
categories={['Photo server']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={immichIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -5,4 +5,5 @@ export const immichIntegration: IntegrationDefinition = {
|
||||
description: "Self-hosted photo and video management solution",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/immich.svg",
|
||||
path: "../../integrations/immich",
|
||||
data: "Fetches server statistics, albums, and users from an Immich photo management server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Jellyfin is a free and open-source media server software that allo
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { mediaReleasesWidget } from '@site/docs/widgets/media-releases';
|
||||
categories={['Media server']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={jellyfinIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const jellyfinIntegration: IntegrationDefinition = {
|
||||
"Jellyfin is a free and open-source media server software that allows you to organize, manage, and share your media files.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyfin.svg",
|
||||
path: "../../integrations/jellyfin",
|
||||
data: "Fetches active streams and recently added media from a Jellyfin media server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Jellyseerr is a self-hosted media request management system that i
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { mediaRequestStatsWidget } from '@site/docs/widgets/media-request-stats'
|
||||
categories={['Media requests']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={jellyseerrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const jellyseerrIntegration: IntegrationDefinition = {
|
||||
"Jellyseerr is a self-hosted media request management system that integrates with Jellyfin and other media servers.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyseerr.svg",
|
||||
path: "../../integrations/jellyseerr",
|
||||
data: "Fetches media requests, search results, and user information from Jellyseerr.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Kubernetes is a powerful container orchestration platform that aut
|
||||
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 {IntegrationSecrets} from '@site/src/components/integrations/secrets';
|
||||
@@ -24,6 +25,10 @@ This integration is read-only, meaning Homarr does not modify or manage cluster
|
||||
|
||||

|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={kubernetesIntegration} />
|
||||
|
||||
### Prerequisites
|
||||
|
||||
Before deploying Homarr in Kubernetes, ensure the following prerequisites are met:
|
||||
|
||||
@@ -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.",
|
||||
};
|
||||
@@ -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
|
||||
|
||||
<IntegrationData integration={lidarrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const lidarrIntegration: IntegrationDefinition = {
|
||||
"Lidarr is a music management tool that automates the process of downloading, sorting, and renaming music.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/lidarr.svg",
|
||||
path: "../../integrations/lidarr",
|
||||
data: "Fetches music album release calendar events from Lidarr.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "LinuxServer.io is a platform for managing and deploying containeri
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Container Management', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={linuxServerIoIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const linuxServerIoIntegration: IntegrationDefinition = {
|
||||
description: "LinuxServer.io is a platform for managing and deploying containerized applications.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/linuxserver-io.svg",
|
||||
path: "../../integrations/linux-server-io",
|
||||
data: "Fetches Docker image versions and changelogs from LinuxServer.io.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Navidrome is a self-hosted music server and streamer compatible wi
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { audioStatsWidget } from '@site/docs/widgets/audio-stats';
|
||||
|
||||
Navidrome provides music library statistics including artist, album, and song counts, as well as now playing information via the Subsonic API.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={navidromeIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -5,4 +5,5 @@ export const navidromeIntegration: IntegrationDefinition = {
|
||||
description: "Navidrome is a self-hosted music server and streamer compatible with the Subsonic API.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/navidrome.svg",
|
||||
path: "../../integrations/navidrome",
|
||||
data: "Fetches library statistics and currently playing tracks from a Navidrome music server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Nextcloud is a self-hosted productivity platform that provides fil
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { notificationsWidget } from '@site/docs/widgets/notifications';
|
||||
categories={['Calendar', 'Notifications']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={nextcloudIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const nextcloudIntegration: IntegrationDefinition = {
|
||||
"Nextcloud is a self-hosted productivity platform that provides file storage, collaboration tools, and more.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nextcloud.svg",
|
||||
path: "../../integrations/nextcloud",
|
||||
data: "Fetches calendar events and notifications from a Nextcloud instance.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "NPM is a package manager for the JavaScript programming language,
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Package Management', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={npmIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const npmIntegration: IntegrationDefinition = {
|
||||
"NPM is a package manager for the JavaScript programming language, primarily used for managing Node.js packages.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/npm.svg",
|
||||
path: "../../integrations/npm",
|
||||
data: "Fetches the latest npm package version and metadata from the npm registry.",
|
||||
};
|
||||
@@ -6,6 +6,7 @@ hide_title: true
|
||||
|
||||
import { notificationsWidget } from '@site/docs/widgets/notifications';
|
||||
import { AddingIntegration } from '@site/src/components/integrations/adding';
|
||||
import { IntegrationData } from '@site/src/components/integrations/data';
|
||||
import { IntegrationHeader } from '@site/src/components/integrations/header';
|
||||
import { IntegrationSecrets } from '@site/src/components/integrations/secrets';
|
||||
import { IntegrationCapabilites } from '@site/src/components/integrations/widgets';
|
||||
@@ -17,6 +18,10 @@ import { ntfyIntegration } from '.';
|
||||
categories={['Notifications', 'Messaging']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={ntfyIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const ntfyIntegration: IntegrationDefinition = {
|
||||
"Ntfy is a simple, open-source notification service that allows you to send and receive notifications across devices.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ntfy.svg",
|
||||
path: "../../integrations/ntfy",
|
||||
data: "Fetches recent push notifications from an ntfy.sh topic.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "NZBGet is a lightweight and efficient Usenet downloader."
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { downloadsWidget } from '@site/docs/widgets/downloads';
|
||||
categories={['Usenet client']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={nzbgetIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -4,4 +4,5 @@ export const nzbgetIntegration: IntegrationDefinition = {
|
||||
description: "NZBGet is a lightweight and efficient Usenet downloader.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nzbget.svg",
|
||||
path: "../../integrations/nzbget",
|
||||
data: "Manages and monitors NZBGet usenet downloads including queue, history, and pause/resume/delete actions.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Open Media Vault is a free network-attached storage server based o
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { systemResourcesWidget } from '@site/docs/widgets/system-resources';
|
||||
categories={['System monitoring']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={openMediaVaultIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -4,4 +4,5 @@ export const openMediaVaultIntegration: IntegrationDefinition = {
|
||||
description: "Open Media Vault is a free network-attached storage server based on the Debian operating system.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openmediavault.svg",
|
||||
path: "../../integrations/open-media-vault",
|
||||
data: "Fetches system health data including CPU, memory, filesystem, SMART status, and CPU temperature from OpenMediaVault.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "OPNsense is an open-source, easy-to-use, and easy-to-build firewal
|
||||
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 { firewallWidget } from '../../widgets/firewall';
|
||||
categories={['Firewall']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={opnsenseIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -4,4 +4,5 @@ export const opnsenseIntegration: IntegrationDefinition = {
|
||||
description: "OPNsense is an open-source, easy-to-use, and easy-to-build firewall and routing platform",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/opnsense.svg",
|
||||
path: "../../integrations/opnsense",
|
||||
data: "Fetches firewall summary data including version, interface traffic, memory, and CPU usage from OPNsense.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Overseerr is a self-hosted media request management system that in
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { mediaRequestStatsWidget } from '@site/docs/widgets/media-request-stats'
|
||||
categories={['Media requests']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={overseerrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -4,4 +4,5 @@ export const overseerrIntegration: IntegrationDefinition = {
|
||||
description: "Overseerr is a self-hosted media request management system that integrates with Plex.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/overseerr.svg",
|
||||
path: "../../integrations/overseerr",
|
||||
data: "Fetches media requests, search results, and user information from Overseerr with approve/decline actions.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Paperless-ngx is a document management system that transforms your
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { paperlessNgxWidget } from '@site/docs/widgets/paperless-ngx';
|
||||
|
||||
Paperless-ngx provides document statistics including total documents, inbox count, correspondents, tags, and document types.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={paperlessNgxIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -6,4 +6,5 @@ export const paperlessNgxIntegration: IntegrationDefinition = {
|
||||
"Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/paperless-ngx.svg",
|
||||
path: "../../integrations/paperless-ngx",
|
||||
data: "Fetches document statistics including total documents, inbox count, tags, correspondents, and document types.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: 'A tiny dashboard for Network UPS Tools (NUT) servers.'
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { upsWidget } from '@site/docs/widgets/ups';
|
||||
[PeaNUT](https://github.com/Brandawg93/PeaNUT) exposes the data of your [Network UPS Tools](https://networkupstools.org/) servers
|
||||
over a REST API, which Homarr reads to display the status of your UPS devices.
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={peaNutIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const peaNutIntegration: IntegrationDefinition = {
|
||||
description: "A tiny dashboard for Network UPS Tools (NUT) servers.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/peanut.svg",
|
||||
path: "../../integrations/peanut",
|
||||
data: "Fetches UPS device summaries including battery charge, runtime, load, and voltage from PeaNut (NUT).",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Pi-hole is a network-wide ad blocker that acts as a DNS sinkhole,
|
||||
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';
|
||||
@@ -24,6 +25,10 @@ import { piHoleIntegration } from '.';
|
||||
Homarr supports both Pi-hole v5 and v6. It automatically detects the version and uses the correct API.
|
||||
</Alert>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={piHoleIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -6,4 +6,5 @@ export const piHoleIntegration: IntegrationDefinition = {
|
||||
"Pi-hole is a network-wide ad blocker that acts as a DNS sinkhole, blocking unwanted content and improving your browsing experience.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pi-hole.svg",
|
||||
path: "../../integrations/pi-hole",
|
||||
data: "Fetches DNS query statistics and blocking status from Pi-hole with enable/disable support (auto-detects v5 vs v6).",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Plex is a media server platform that allows you to organize, manag
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { mediaReleasesWidget } from '@site/docs/widgets/media-releases';
|
||||
categories={['Media server']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={plexIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -5,4 +5,5 @@ export const plexIntegration: IntegrationDefinition = {
|
||||
"Plex is a media server platform that allows you to organize, manage, and stream your personal media collection.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/plex.svg",
|
||||
path: "../../integrations/plex",
|
||||
data: "Fetches active streams and recently added media from a Plex Media Server.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Prowlarr is an indexer manager for Usenet and BitTorrent, providin
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { indexerManagerWidget } from '@site/docs/widgets/indexer-manager';
|
||||
categories={['Indexer']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={prowlarrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{ widget: indexerManagerWidget }]}
|
||||
|
||||
@@ -5,4 +5,5 @@ export const prowlarrIntegration: IntegrationDefinition = {
|
||||
"Prowlarr is an indexer manager for Usenet and BitTorrent, providing a unified interface to manage your indexers.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/prowlarr.svg",
|
||||
path: "../../integrations/prowlarr",
|
||||
data: "Fetches indexer status and health from Prowlarr with test-all-indexers support.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Proxmox is a powerful open-source virtualization platform that all
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { systemResourcesWidget } from '@site/docs/widgets/system-resources';
|
||||
categories={['System monitoring']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={proxmoxIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[
|
||||
|
||||
@@ -5,4 +5,5 @@ export const proxmoxIntegration: IntegrationDefinition = {
|
||||
"Proxmox is a powerful open-source virtualization platform that allows you to run virtual machines and containers.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/proxmox.svg",
|
||||
path: "../../integrations/proxmox",
|
||||
data: "Fetches Proxmox cluster resources including nodes, VMs, containers, and storage information.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "qBittorrent is a free and open-source BitTorrent client."
|
||||
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';
|
||||
@@ -19,6 +20,10 @@ import { downloadsWidget } from '@site/docs/widgets/downloads';
|
||||
categories={['Torrent client']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={qBittorentIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{ widget: downloadsWidget }]}
|
||||
|
||||
@@ -4,4 +4,5 @@ export const qBittorentIntegration: IntegrationDefinition = {
|
||||
description: "qBittorrent is a free and open-source BitTorrent client.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/qbittorrent.svg",
|
||||
path: "../../integrations/q-bittorent",
|
||||
data: "Manages and monitors qBittorrent torrents including progress, speeds, and pause/resume/delete actions.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Quay is a container registry for storing and managing container im
|
||||
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';
|
||||
@@ -17,6 +18,10 @@ import { releasesWidget } from '@site/docs/widgets/releases';
|
||||
categories={['Container Registry', 'Software']}
|
||||
/>
|
||||
|
||||
### Data
|
||||
|
||||
<IntegrationData integration={quayIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{
|
||||
|
||||
@@ -5,4 +5,5 @@ export const quayIntegration: IntegrationDefinition = {
|
||||
description: "Quay is a container registry for storing and managing container images.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/png/quay.png",
|
||||
path: "../../integrations/quay",
|
||||
data: "Fetches container image tags and repository metadata from a Quay.io registry.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Radarr is a movie 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
|
||||
|
||||
<IntegrationData integration={radarrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{ widget: calendarWidget }]}
|
||||
|
||||
@@ -5,4 +5,5 @@ export const radarrIntegration: IntegrationDefinition = {
|
||||
"Radarr is a movie management tool that automates the process of downloading, sorting, and renaming movies.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/radarr.svg",
|
||||
path: "../../integrations/radarr",
|
||||
data: "Fetches movie release calendar events including in-cinemas, physical, and digital release dates.",
|
||||
};
|
||||
@@ -4,6 +4,7 @@ description: "Readarr is a book 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
|
||||
|
||||
<IntegrationData integration={readarrIntegration} />
|
||||
|
||||
### Widgets & Capabilities
|
||||
<IntegrationCapabilites
|
||||
items={[{ widget: calendarWidget }]}
|
||||
|
||||
@@ -5,4 +5,5 @@ export const readarrIntegration: IntegrationDefinition = {
|
||||
"Readarr is a book management tool that automates the process of downloading, sorting, and renaming books.",
|
||||
iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/readarr.svg",
|
||||
path: "../../integrations/readarr",
|
||||
data: "Fetches book release calendar events from Readarr.",
|
||||
};
|
||||
Loaded 100 of 299 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user