CyferShepard f70bce6b9a Version Bump 1.1.0 => 1.1.1
Added Dynamic API loader framework for Emby/Jellyfin switching, Emby API is still WIP, DO NOT USE as per #133

Reworked ome pages for correct url mapping of emby external links

Added IS_JELLYFIN flag to config endpoint to indicate if server is displaying Emby or Jellyfin Data

Fix for #218 Require Login set to false still displays Login Page until reload

New feat: Grouped Recently added Episodes under Seasons and Episode count on Home page. Toggle to revert back to ugrouped display will be added later

Added middleware to infer param types in API to simplify value checks, eg bool or numeric parameters
2024-06-29 22:57:33 +02:00
2024-06-15 18:36:14 +02:00
2023-09-03 20:47:52 +02:00
2024-06-29 22:57:33 +02:00
2024-05-24 18:53:41 +02:00
2023-07-01 23:33:28 +02:00
2024-06-29 22:57:33 +02:00
2023-11-07 16:44:45 +08:00
2023-03-23 22:37:04 +02:00
2024-06-19 09:56:35 +12:00
2024-01-09 21:19:19 +08:00
2023-11-08 12:17:27 +08:00
2023-04-04 14:56:13 +02:00
2024-06-29 22:57:33 +02:00
2024-06-29 22:57:33 +02:00
2024-06-04 19:30:23 +02:00
2023-10-06 18:08:35 +02:00

Jellystat is a free and open source Statistics App for Jellyfin! (This project is still in development - expect some weirdness)

Current Features

  • 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

Required Development

  • Responsive UI
  • Code Optimizations
  • Security Testing
  • More Validations and Error Handling
  • Multi-Server support
  • More to come

Environmental Variables

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
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

Getting Started with Development

  • Clone the project from git
  • set your env variables before strating the server (Variable names as per Environmental Variables above).
  • Run npm install to install necessary packages
  • 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

Launching Jellystat using Docker

Check out our dockerhub to run Jellystat: https://hub.docker.com/r/cyfershepard/jellystat

Environment variables from files (Docker secrets)

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.

Screenshots

Support

API Documentation

To-do

Description
No description provided
Readme MIT 15 MiB
Languages
JavaScript 95.5%
CSS 4%
Shell 0.2%
HTML 0.2%