Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
Nerdy-Technician/JellyGlance: A modern Jellyfin dashboard for live sessions, user stats, recently added media, libraries, downloads, calendars, webhooks, and backups.

Nerdy-Technician/JellyGlance: A modern Jellyfin dashboard for live sessions, user stats, recently added media, libraries, downloads, calendars, webhooks, and backups.

14 hours ago

JellyGlance

Your Jellyfin command center: live sessions, requests, users, libraries, stats, calendars, downloads, health, webhooks, and tasks in one clean dashboard.

Built by Nerdy-Technician for self-hosted media servers that deserve better visibility than a pile of browser tabs.

Latest Release

Latest Beta

GitHub Stars

Docker

CI

License

GHCR

Website · Documentation · Discord · Docker Start · Integrations

Documentation

Read the live guides at docs.jellyglance.com. Source and contributions are maintained in JellyGlance/Documentation.

For documentation corrections or requests, open a docs issue. Application bugs belong in this project's issue tracker. Visit jellyglance.com for the project website.

Why JellyGlance

JellyGlance gives your Jellyfin server a proper dashboard: live sessions, request triage, user watch stats, recent media, library health, activity history, release calendars, download queues, webhooks, backups, and integrations in one polished place.

It is built around three jobs:

  • Watch live streams, playback history, watch-time trends, user activity, favourites, watchlists, and recently added media.
  • Triage requests, Jellyfin availability, failed integrations, webhook delivery, backups, and user access.
  • Operate calendars, download queues, scheduled syncs, health checks, quick actions, audit history, and notifications.

Highlights

  • Live active sessions with device, client, codec, bitrate, user, runtime, episode details, and platform icons.
  • Customizable home command center with drag-and-drop section order, visibility toggles, presets, density, themes, kiosk mode, and alert rules.
  • Requests page for Jellyseerr and Overseerr with combined search, posters, ratings, cast lists, season controls, route editing, availability checks, request actions, and direct open links.
  • Wizarr invite management with custom invite codes, server and library targeting, optional wizard bundle IDs, copy/open/delete actions, invite sync, and invite webhook notifications.
  • 3rd party app support for Tdarr transcodes, Maintainerr cleanup, SickChill, Arr apps, Seerr apps, download clients, and webhooks.
  • Recently added shelves grouped by library with poster-first rows for fast scanning.
  • User dashboards for Jellyfin Quick Connect users, local JellyGlance users, OIDC-ready accounts, favourites, watchlists, Continue Watching, and recently watched media.
  • Useful statistics covering top movies, series, libraries, clients, users, trends, watch time, and activity heatmaps.
  • Calendar and downloads for release planning, torrent URLs, magnet links, torrent uploads, and active queues.
  • Webhook notifications with delivery history for session, media, request, task, backup, download, and health events.
  • Admin audit trail for settings, auth, integrations, webhooks, roles, backups, and restore-sensitive actions.
  • Backup and restore friendly Docker paths via /app/config and /app/backups.

Integrations

Jellyfin
Jellyfin
Wizarr
Wizarr
Tdarr
Tdarr
Maintainerr
Maintainerr
SickChill
SickChill
Sonarr
Sonarr
Radarr
Radarr
Lidarr
Lidarr
Bazarr
Bazarr
Prowlarr
Prowlarr
Jellyseerr
Jellyseerr
Overseerr
Overseerr
qBittorrent
qBittorrent
Transmission
Transmission
Deluge
Deluge
SABnzbd
SABnzbd
NZBGet
NZBGet
Discord
Discord
Gotify
Gotify

Quick Docker Start

Create a docker-compose.yml:

services:
  jellyglance-db:
    image: postgres:16-alpine
    container_name: jellyglance-db
    restart: unless-stopped
    shm_size: "1gb"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: change-me
      POSTGRES_DB: jellyglance
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready --dbname=jellyglance --username=postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

jellyglance: image: ghcr.io/nerdy-technician/jellyglance:latest container_name: jellyglance restart: unless-stopped depends_on: jellyglance-db: condition: service_healthy ports: - "3000:3000" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: change-me POSTGRES_IP: jellyglance-db POSTGRES_PORT: 5432 POSTGRES_DB: jellyglance JWT_SECRET: replace-me-with-a-long-random-secret TZ: Europe/London CONFIG_DIR: /app/config BACKUP_DIR: /app/backups volumes: - ./config:/app/config - ./backups:/app/backups

volumes: postgres-data:

Start it:

docker compose up -d

Use Docker Compose v2 (docker compose, with a space). The old Python docker-compose v1 log watcher can crash on modern Docker events with KeyError: 'id'.

Open:

http://localhost:3000

First Run

  1. Open JellyGlance.
  2. Add your Jellyfin server URL.
  3. Add a Jellyfin API key so JellyGlance can sync users, libraries, artwork, sessions, and activity.
  4. Choose your admin access mode.
  5. Let the first sync run.
After setup, JellyGlance can use artwork from your Jellyfin library for login backgrounds and media views.

Persistent Folders

The Docker image is designed around simple, visible paths:

| Host path | Container path | What it is for | | --- | --- | --- | | ./config | /app/config | Runtime config and local app files | | ./backups | /app/backups | Backup exports and restore uploads | | postgres-data | PostgreSQL data volume | Database storage |

Backups created inside JellyGlance appear in ./backups. To restore, place a backup JSON file in that folder or upload it from the Backup page.

Updates

docker compose pull
docker compose up -d

Community

This Project will always be free: no ads, no ssotax, no buyouts, no subscription plan, Free Forever.

JellyGlance Discord

Credits

Created by Nerdy-Technician.

Inspired by Jellystat.

Chat with me