finscope

finscope

apps.detail.types.app from joly0's Repository

apps.detail.sections.overview

A monitoring and analytics dashboard for Jellyfin. Keep an eye on active streams, user activity, library stats, and server health -- all in one place, with a glass-morphism UI inspired by Apple's Spatial Design.
FinScope

Buy Me a Coffee

FinScope

A monitoring and analytics dashboard for Jellyfin. Keep an eye on active streams, user activity, library stats, and server health -- all in one place, with a glass-morphism UI inspired by Apple's Spatial Design.

Screenshots

Dashboard Overview

Live session monitoring with real-time stream cards — cover art, playback status, codec details and progress at a glance.

Dashboard Overview

Deep Analytics

Server activity heatmap, prime-time analysis, storage matrix and playback history — aggregated into a local SQLite database.

Deep Analytics

System Pulse

Server info, live network traffic, transcoding overview with active codecs, and database health.

System Pulse

Features

  • Live Stream Radar -- Real-time view of active sessions with playback progress, codec details, and transcoding status
  • User Overview -- Online status, play history, and per-user activity tracking
  • Library Analytics -- Media counts, genre distribution, storage breakdown, top played content, and recently added items
  • Watch Analytics -- Heatmaps, prime-time analysis, and client ecosystem breakdown
  • System Pulse -- Server info, network traffic, hardware acceleration, and database status
  • Bilingual -- Full English and German interface

Tech Stack

Layer Technology
Frontend React 19, TypeScript, Vite
Styling Tailwind CSS v4
State Zustand
i18n i18next (EN / DE)
Proxy Node.js
Deployment Docker (multi-stage build)

Getting Started

Prerequisites

  • Docker & Docker Compose
  • A running Jellyfin server
  • A Jellyfin API key

Setup

  1. Clone the repository:
git clone https://github.com/netz-sg/finscope.git
cd finscope
  1. Copy the environment file:
cp .env.example .env
  1. Start with Docker:
cd docker
docker compose up -d
  1. Open http://localhost:8080 and enter your Jellyfin server URL and API key.

Local Development

npm install
npm run dev

Architecture

FinScope uses a Node.js proxy between the frontend and your Jellyfin server. This handles CORS and keeps your API key server-side -- no credentials are ever exposed to the browser.

Browser  →  Nginx (static frontend)  →  Node.js Proxy  →  Jellyfin Server

Feature Requests

Have an idea or wish? Submit it here: finscope.featurebase.app

Bugs & Issues

Found a bug? Please open an issue on GitHub Issues.

License

MIT

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.requirements

Jellyfin

apps.detail.sections.categories

apps.detail.sections.related

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/netz-sg/finscope:latest
apps.detail.details.lastUpdated2026-08-11
apps.detail.details.firstSeen2026-03-04

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:80]
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false

apps.detail.sections.configuration

WebUIPorttcp
apps.detail.config.target
80
apps.detail.config.value
4687
Data pathPathrw
apps.detail.config.target
/data
apps.detail.config.value
/mnt/user/appdata/finscope
Database path variableVariable
apps.detail.config.target
DB_PATH
apps.detail.config.value
/data/finscope.db