A free, open source statistics app for Jellyfin that tracks sessions, watch history, and per-user and per-library activity.
fredrikburmester/streamystats
A statistics and analytics service for Jellyfin media servers, with dashboards, watch history, and AI-based recommendations.
Open-source alternative to:Tautulli
- Stars
- 842
- Forks
- 46
- Open issues
- 150
- Last commit
- 2 months ago
What is it?
Streamystats connects to a Jellyfin server and turns its playback data into dashboards. It shows overview statistics, live sessions, per-user watch history, library statistics, watch time graphs with filtering, and client statistics. It supports multiple servers and users, and existing data can be imported from Jellyfin's Jellystat and Playback Reporting Plugin.
The project also includes an optional AI layer. Library items can be embedded through any OpenAI-compatible API and stored in vectorchord. A chat interface uses function calling with 13 tools to answer questions about your library, and recommendations are based on cosine similarity to items in your watch history, with explanations of which watched titles led to each suggestion.
The service is deployed with Docker Compose and sets its web port to 3000 by default. It is built with Next.js and React on the frontend, Hono running on Bun on the backend, and vectorchord for embeddings.
Key features
- 01Dashboard with overview statistics, live sessions and recommendations
- 02User-specific watch history and library statistics
- 03Watch time graphs with advanced filtering
- 04Multi-server and multi-user support
- 05AI chat over your library with 13 function-calling tools
- 06Vector-similarity recommendations with explanations
Use cases
- Jellyfin server admins who want per-user viewing analytics
- Households wanting recommendations based on their own watch history
- Migrating statistics from Jellystat or Playback Reporting Plugin
Quick start
- 1
Install Docker and Docker Compose
- 2
Copy the docker-compose.yml file to your desired location, using the :latest tag
- 3
Change the SESSION_SECRET in docker-compose.yml to a random string generated with openssl
openssl rand -hex 64 - 4
Start the application
docker-compose up -d
Things to know
- The author describes it as a hobby project with no guarantee of rapid development, and it is prone to bugs.
- No license is specified in the project metadata.
- The :latest tag may contain breaking changes, and downgrades are not supported without restoring a database backup.
In collections
Topics
FAQ
- What is streamystats?
- A statistics and analytics service for Jellyfin media servers, with dashboards, watch history, and AI-based recommendations. Streamystats connects to a Jellyfin server and turns its playback data into dashboards. It shows overview statistics, live sessions, per-user watch history, library statistics, watch time graphs with filtering, and client statistics. It supports multiple servers and users, and existing data can be imported from Jellyfin's Jellystat and Playback Reporting Plugin.
- Is streamystats free to use? What license does it have?
- streamystats has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is streamystats still maintained?
- Updated within 6 months. The last commit to streamystats was on Sep 14, 2026.
- What can I use streamystats for?
- Jellyfin server admins who want per-user viewing analytics Households wanting recommendations based on their own watch history Migrating statistics from Jellystat or Playback Reporting Plugin
- How do I install streamystats?
- Install Docker and Docker Compose Copy the docker-compose.yml file to your desired location, using the :latest tag Change the SESSION_SECRET in docker-compose.yml to a random string generated with openssl: openssl rand -hex 64 Start the application: docker-compose up -d
- Where can I get streamystats?
- The source code and installation instructions are on GitHub: https://github.com/fredrikburmester/streamystats
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Real-time monitoring dashboard for Plex, Jellyfin, and Emby servers, covering streams, playback analytics, and account-sharing detection.
Automatically requests movies, TV shows and anime to Seer based on what Jellyfin, Plex or Emby users recently watched.
A web GUI that recommends TV shows similar to the shows already in your Sonarr library, using TMDB data.
A Python web app that monitors Plex Media Server activity and provides viewing analytics, statistics and notifications.
Open-source web app for users to request movies and TV shows, with approval workflows for Jellyfin, Plex, and Emby libraries.