Jellystat is a free and open source Statistics App for Jellyfin! (This project is still in development - expect some weirdness)
- Session Monitoring and logging
- Statistics for all Libraries and Users
- Watch History
- User Overview and activity
- Watch statisitcs
- Backup and restore Data
- Auto sync library items
- Jellyfin Statistics Plugin Integration
- Responsive UI
- Code Optimizations
- Security Testing
- More Validations and Error Handling
- Multi-Server support
- More to come
Env | Default | Example | Description |
---|---|---|---|
POSTGRES_USER REQUIRED |
null |
postgres |
Username that will be used in postgres database |
POSTGRES_PASSWORD REQUIRED |
null |
postgres |
Password that will be used in postgres database |
POSTGRES_IP REQUIRED |
null |
jellystat-db or 192.168.0.5 |
Hostname/IP of postgres instance |
POSTGRES_PORT REQUIRED |
null |
5432 |
Port Postgres is running on |
JWT_SECRET REQUIRED |
null |
my-secret-jwt-key |
JWT Key to be used to encrypt JWT tokens for authentication |
TZ REQUIRED |
null |
Etc/UTC |
Server timezone (Can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) |
JS_BASE_URL | / |
/ |
Base url |
JS_USER | null |
User |
Master Override User in case username or password used during setup is forgotten (Both JS_USER and JS_PASSWORD required to work) |
JS_PASSWORD | null |
Password |
Master Override Password in case username or password used during setup is forgotten (Both JS_USER and JS_PASSWORD required to work) |
POSTGRES_DB | jfstat |
jfstat |
Name of postgres database |
REJECT_SELF_SIGNED_CERTIFICATES | true |
false |
Allow or deny self signed SSL certificates |
JS_GEOLITE_ACCOUNT_ID | null |
123456 |
maxmind.com user id to be used for Geolocating IP Addresses (Can be found at https://www.maxmind.com/en/accounts/current/edit) |
JS_GEOLITE_LICENSE_KEY | null |
ASDWdaSdawe2sd186 |
License key you need to generate on maxmind to use their services |
MINIMUM_SECONDS_TO_INCLUDE_PLAYBACK | 1 |
10 |
The minimum time (in seconds) to include a playback record, which can be used to exclude short playbacks |
- Clone the project from git
- Set your env variables before starting the server (Variable names as per Environmental Variables above).
- Run
npm install
to install necessary packages - Run
npm run build
to build local files ready to run - Run
npm run start-server
to only run the backend nodejs server - Run
npm run start-client
to only run the frontend React UI - Run
npm run start-app
to run both backend and frontend at the same time
When contributing please ensure to log a pull request on the unstable
branch
Check out our dockerhub to run Jellystat: https://hub.docker.com/r/cyfershepard/jellystat
You can set any environment variable from a file by using the prefix FILE__
As an example:
jellystat:
environment:
FILE__MYVAR: /run/secrets/MYSECRETFILE
Will set the environment variable MYVAR
based on the contents of the /run/secrets/MYSECRETFILE
file. see docker secrets for more info.
- Bug reports and feature requests can be submitted via GitHub Issues.
- Join us in our Discord
To-do