A modern Jellyfin dashboard for live sessions, user stats, recently added media, libraries, downloads, calendars, webhooks, and backups. https://jellyglance.com/
Find a file
Nerdy Technician 68e9b2fc79
chore(deps): update renovatebot/github-action action to v46.3.7 (#181)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[renovatebot/github-action](https://redirect.github.com/renovatebot/github-action)
| action | patch | `v46.3.6` → `v46.3.7` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>renovatebot/github-action (renovatebot/github-action)</summary>

###
[`v46.3.7`](https://redirect.github.com/renovatebot/github-action/releases/tag/v46.3.7)

[Compare
Source](https://redirect.github.com/renovatebot/github-action/compare/v46.3.6...v46.3.7)

##### Documentation

- update references to renovatebot/github-action to v46.3.6
([f6f0792](f6f0792ea7))

##### Miscellaneous Chores

- **deps:** update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.19.0
([51aa201](51aa20135a))
- **deps:** update dependency lint-staged to v17.6.0
([ce26faf](ce26faff62))
- **deps:** update dependency prettier to v3.9.9
([0fcb47f](0fcb47fcb7))

##### Build System

- **deps:** lock file maintenance
([371c17c](371c17cf1a))

##### Continuous Integration

- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.121.3
([ba18a70](ba18a70566))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.121.4
([f79cd7c](f79cd7c66f))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.123.0
([68a2f37](68a2f374b4))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.124.2
([a95e1af](a95e1afed5))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.125.2
([f949b28](f949b28b98))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.126.0
([b9e6d61](b9e6d61d85))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.127.1
([b08001d](b08001db90))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.129.0
([176ff48](176ff480ec))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.130.0
([b9930a7](b9930a702a))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.131.0
([902e339](902e33921c))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.131.3
([c7be731](c7be731770))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.0
([b21e0a8](b21e0a8c6f))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.1
([c68f408](c68f408304))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.2
([efdddad](efdddada19))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.4
([a320599](a320599b07))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.5
([a626e1b](a626e1b807))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.132.6
([89ad133](89ad133cbe))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v44.133.0
([c29762e](c29762e038))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/London)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend Renovate
CLI](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzcuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJnaXRodWItYWN0aW9ucyJdfQ==-->
2026-10-05 17:38:38 +01:00
.github chore(deps): update renovatebot/github-action action to v46.3.7 2026-10-05 16:37:06 +00:00
apps fix: address code scanning alerts on v1.3.0 2026-10-01 12:37:00 +01:00
backups feat: initial JellyGlance release 2026-07-19 12:16:32 +01:00
config feat: initial JellyGlance release 2026-07-19 12:16:32 +01:00
packaging chore(deps): update postgres docker tag to v18 2026-09-27 13:27:01 +00:00
scripts fix: address code scanning alerts on v1.3.0 2026-10-01 12:37:00 +01:00
site Add Plausible analytics 2026-10-04 14:19:52 +01:00
.dockerignore feat(site): restore jellyglance.com as a product site 2026-09-26 00:47:08 +01:00
.gitignore chore(docs): remove docs from main project (moved to JellyGlance/Documentation) 2026-09-25 18:24:51 +01:00
ca_profile.xml chore(docs): remove docs from main project (moved to JellyGlance/Documentation) 2026-09-25 18:24:51 +01:00
CHANGELOG.md Added 2026-08-20 22:50:36 +01:00
docker-compose.local.yml chore(deps): update postgres docker tag to v18 2026-09-27 13:27:01 +00:00
docker-compose.yml chore(deps): update postgres docker tag to v18 2026-09-27 13:27:01 +00:00
Dockerfile fix(docker): restore node:22-bookworm-slim index digest for arm/v7 stage 2026-10-02 21:58:48 +01:00
LICENSE feat: initial JellyGlance release 2026-07-19 12:16:32 +01:00
package-lock.json chore: merge main into feat/v1.3.0 2026-10-02 21:37:14 +01:00
package.json feat: v1.3.0 - Emby support, Audiobookshelf, recaps and custom alert rules 2026-10-01 12:29:03 +01:00
README.md feat: v1.3.0 - Emby support, Audiobookshelf, recaps and custom alert rules 2026-10-01 12:29:03 +01:00
renovate.json fix(docker): restore node:22-bookworm-slim index digest for arm/v7 stage 2026-10-02 21:58:48 +01:00
SECURITY.md ci: fix welcome first-interaction input names 2026-09-20 19:18:38 +01:00

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 · Live Demo · Documentation · Discord · Docker Start · Integrations

Live Demo

Try JellyGlance without installing anything at demo.jellyglance.com. It's read-only, filled with real film and TV data from TMDB and simulated viewers, downloads and requests, and resets every few hours. The demo's source is in JellyGlance/Demo.

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.