Skip to content

Integrations

Server Portal can run with Plex, Jellyfin, or Emby-style media stacks and can connect to the companion apps that normally sit around a home media server.

Most integrations are configured in Settings → Media Stack. Branding, alerts, status checks, and home layout options live in their matching Settings sections.

At A Glance

PlexOAuth login, sessions, library data, Tautulli analytics, Discover, maintenance, and upgrader flows.
JellyfinJellyfin auth, Quick Connect, user profiles, Jellystat activity, server artwork, and live session data.
ARR StackSonarr, Radarr, and Lidarr queues, calendars, history, download matching, and quality workflows.
Download ClientsqBittorrent, Transmission, BitTorrent, Deluge, SABnzbd, and NZBGet merged into one Download Status page.

Supported Integrations

AppCategoryWhat It Enables
PlexMedia serverPlex OAuth login, library stats, live sessions, analytics, Discover, maintenance, and upgrader tools
JellyfinMedia serverJellyfin login, Quick Connect, Jellyfin profiles, library stats, live sessions, Discover, maintenance, and upgrader tools
EmbyMedia serverEmby-compatible media-server connection and download/status workflows
TautulliAnalyticsPlex activity, personal analytics, leaderboard data, watch history, and status checks
JellystatAnalyticsJellyfin activity, yearly heatmap data, top libraries, top titles, devices, and playback method stats
TMDBRequests / DiscoverBuilt-in Discover & Request browse, posters, and search (with Sonarr/Radarr for library + fulfill). See Discover & Request.
Jellyseerr / SeerrRequests (optional)Optional request engine, Discover metadata proxy, or one-shot history import into the portal
SonarrARRTV calendar, queues, history, download matching, and upgrader search/profile actions
RadarrARRMovie calendar, queues, history, download matching, and upgrader search/profile actions
LidarrARRMusic download matching, status filters, and integration health checks
BazarrSubtitlesMulti-instance subtitle widgets, connection tests, version display, and subtitle tools
qBittorrentDownload clientDownload Status page, status checks, source matching, speed/progress display
TransmissionDownload clientDownload Status page, status checks, source matching, speed/progress display
BitTorrentDownload clientDownload Status page, status checks, source matching, speed/progress display
DelugeDownload clientDownload Status page, status checks, source matching, speed/progress display through Deluge Web
SABnzbdDownload clientDownload Status page, status checks, NZB queue progress, speed display, and ARR source matching
NZBGetDownload clientDownload Status page, status checks, NZB queue progress, speed display, and ARR source matching
GotifyNotificationsPortal alerts for selected alert rules
TMDBMetadataTrending slideshow, poster/backdrop enrichment, and Discover artwork
SMTPEmailWelcome emails, expiry warnings, inactivity notices, newsletters, and access notifications

Multi-Instance Support

The ARR and subtitle integrations support multiple named instances where the feature needs it:

IntegrationMulti-Instance Notes
SonarrAdd multiple TV instances and map them to libraries or quality workflows
RadarrAdd multiple movie instances and map them to libraries or quality workflows
LidarrAdd multiple music instances for download filtering and status matching
BazarrAdd multiple subtitle instances and show widgets/tools for each configured source
Download clientsAdd multiple clients of any supported type; the Download Status page merges all active clients

Download Status

The Download Status page combines every enabled download client and matches active items back to Sonarr, Radarr, or Lidarr where possible. Filters include:

  • All downloads
  • Sonarr
  • Radarr
  • Lidarr
  • Other/unknown

Each client card shows online/offline state, download count, and client type. Each download row shows progress, state, speeds, size, category/label, and ARR match details when available.

Jellyfin Activity Notes

Jellyfin activity cards use Jellystat when configured. The yearly activity heatmap uses Jellystat's getViewsOverTime data so the calendar reflects real per-day plays rather than placeholder activity.

If Jellystat has no historical data, run its initial sync/import and leave Jellystat running so it can collect future playback activity.

Built for the self-hosting community.