Skip to content

Repository files navigation

ArrDash

License: MIT

ArrDash is a Blazor Server dashboard for homelab media stacks. It aggregates recent downloads from the *arr apps, audiobooks from Chaptarr and AudioBookShelf, music from Lidarr, and live playback from Plex, Emby, and Jellyfin — in one configurable UI.

.NET 10 MudBlazor

No built-in authentication. ArrDash has no login page. Anyone who can reach the WebUI sees media titles, watch history, API-key Settings, and host metrics. Run it on a trusted LAN only, or put it behind your reverse proxy’s auth (Authelia, Authentik, basic auth, Cloudflare Access, etc.). Do not expose port 7979 directly to the internet.

Features

Area What you get
Recent media TV (Sonarr), movies (Radarr), audiobooks (Chaptarr + ABS), music (Lidarr)
Now playing Live Plex, Emby, and Jellyfin sessions with progress
Activity Watch history warehouse (Plex/Emby/Jellyfin/Trakt) — charts, leaderboards, drilldowns, per-library include/exclude
Trakt Multi-account watched-history import (full depth), optional push of new plays, posters via library match or TMDB
Cleanup Optional Sonarr/Radarr library cleanup candidates (nav hidden until one is configured)
Layout Panel order, hide/show, Cards / List / Table per panel
Appearance Light / dark / system theme, colours, density, poster size
Kiosk Full-screen TV mode, panel rotation, screensaver
Metrics Host CPU graph, memory and disk rings, per-service library counts
Settings In-app configuration with live preview before save
Refresh Background polling + SignalR push to all connected browsers

Quick start

Use the main branch only (or the published image built from main). Feature branches may be incomplete.

# Prefer the published image (amd64 + arm64)
curl -fsSL -o docker-compose.yml \
  https://raw.githubusercontent.com/Unthred/ArrDash/main/docker-compose.example.yml
docker compose up -d

Open http://localhost:7979. On first run you’ll see a welcome card — open Settings → API keys, add the services you use, Save. Env vars in compose are optional.

If docker pull ghcr.io/unthred/arrdash:latest fails (package not public yet), build from source instead:

git clone https://github.com/Unthred/ArrDash.git
cd ArrDash
git checkout main
cp docker-compose.example.yml docker-compose.yml
# In docker-compose.yml: comment out `image:` and uncomment `build: .`
docker compose up -d --build

Unraid users who want parity/mover/docker metrics: start from docker-compose.unraid.example.yml or the template under unraid/. Further setup (proxy, secrets) is in the deployment guide.

Documentation

Doc Contents
docs/README.md Documentation index
architecture.md How the app is structured
configuration.md Environment variables and config files
deployment.md Docker, Unraid, reverse proxy, auth
settings-reference.md Every Settings tab and option
services.md Supported apps and API requirements
api.md HTTP endpoints
development.md Local dev, tests, contributing
github-workflow.md Issues + project board (required for changes)
AGENTS.md Cursor agent entry point

Stack

  • .NET 10 — Blazor Server (interactive)
  • MudBlazor 7 — UI components
  • SignalR — live dashboard updates
  • Docker — recommended deployment

Service URLs

ArrDash calls each *arr / media app over HTTP from inside the container. Use URLs that resolve from the container network — typically HTTPS hostnames on your LAN or split-DNS FQDNs, not localhost on the host unless you know routing works.

See services.md for per-app notes.

Persistence

Path Purpose
/config/user-layout.json Theme, layout, behaviour preferences
OpenBao secret/arrdash/media-services API keys/tokens (production; AppRole via OPENBAO_*)
/config/service-secrets.json API keys when OpenBao is unset (local/dev)
/config/arrdash.db Watch history warehouse (SQLite default)

Environment variables seed initial URLs and keys; the Settings UI can override and persist secrets without redeploying.

Tests

dotnet test tests/ArrDash.Tests/ArrDash.Tests.csproj

240+ unit tests cover settings wiring, theme building, filters, and display helpers.

License

MIT — use and modify freely; no warranty.

About

Blazor media dashboard for Sonarr, Radarr, Chaptarr, Plex, and Emby

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages