https://github.com/fredrikburmester/streamystats
Streamystats is a statistics service for Jellyfin, providing analytics and data visualization.
https://github.com/fredrikburmester/streamystats
jellyfin nextjs phoenix statistics
Last synced: 6 months ago
JSON representation
Streamystats is a statistics service for Jellyfin, providing analytics and data visualization.
- Host: GitHub
- URL: https://github.com/fredrikburmester/streamystats
- Owner: fredrikburmester
- Created: 2024-10-29T22:06:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-24T07:03:11.000Z (8 months ago)
- Last Synced: 2025-10-24T08:15:20.667Z (8 months ago)
- Topics: jellyfin, nextjs, phoenix, statistics
- Language: TypeScript
- Homepage:
- Size: 2.5 MB
- Stars: 380
- Watchers: 4
- Forks: 20
- Open Issues: 74
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
- awesome-jellyfin - streamystats - Statistics service for Jellyfin, providing analytics and data visualization. (๐พ Companion Apps & Tools / ๐ Statistics & Watch History)
README
# Streamystats
Streamystats is a statistics service for Jellyfin, providing analytics and data visualization. ๐ Built with modern advanced frameworks.
> This is a hobby project of mine. Don't expect fast development.
## โ ๏ธ Breaking change
Streamystats V2 is a complete rewrite of the backend of this application. It's not backwards compatible with V1. If you're using V1, please read the migration guide below.
### Migrating from V1 to V2
**Before upgrading:**
1. **Backup database**: `docker exec -t streamystats_db pg_dumpall -c -U postgres > backup.sql`
2. **Export your data** from V1 settings page (downloads as `.db` file)
3. **Convert to JSON**: `sqlite3 input.db -json "SELECT * FROM playback_sessions;" > exported_data.json`
4. **Remove old containers**: `docker compose down -v`
5. **Get new docker-compose.yml** and start fresh V2 installation
6. **Import data** via V2 Settings โ Legacy Import
**Note**: There's a new docker compose file and new Docker images. Please read carefully.
## โจ Features
- ๐ฅ๏ธ Dashboard with overview statistics, live sessions and more!
- ๐ค User-specific watch history and statistics
- ๐ Most popular item tracking
- ๐ Library statistics
- โฑ๏ธ Watch time graphs with advanced filtering
- ๐ Multi-server and user support
- ๐ Full sync options of items, libraries and users from the settings page
- ๐งน Supported by Janitorr (beta)
- โฌ๏ธ Import data from Jellystat and Playback Reporting Plugin to get started!
## Roadmap
- [ ] Only sync certain libraries
- [ ] Individual item statistics
- [ ] More statistics about unwatched items and maybe the possibility to remove old or unwatched items
- [ ] More granular sync options
## ๐ Getting started
> Playback reporting plugin is no longer needed and Streamystats soely relies on the Jellyfin API for statistics.
### Docker
1. Install Docker and Docker Compose if you haven't already.
2. Copy the `docker-compose.yml` file to your desired location. Use tag `:edge` (read more below in [Version Tags](#version-tags).
3. Change any ports if needed. Default web port is `3000`.
4. Change the `SECRET_KEY_BASE` in the `docker-compose.yml` file to a random string. You can generate one with `openssl rand -hex 64`.
5. Start the application with `docker-compose up -d`
6. Open your browser and navigate to `http://localhost:3000`
7. Follow the setup wizard to connect your Jellyfin server.
First time load can take a while, depending on the size of your library.
### Version Tags
Version tags (e.g., `v1.2.3`) are automatically generated on release. These tags provide stable, tested reference points for production use. I recommend pinning to specific version tags for stability.
The `:edge` tag always points to the latest commit on the main branch. It contains the most recent features and fixes. While typically stable, it may occasionally contain breaking changes
### Dockerless
Docker is currently the easiest and recommended way to run streamystats. However you can also run without docker.
[See the documentation](DOCKERLESS.md)
## ๐ธ Screenshots

## ๐ ๏ธ Tech Stack
- Frontend: Next.js, React, TypeScript
- Backend: Phoenix (Elixir)
- Database: PostgreSQL
- Containerization: Docker