b098bc88ad
Better error codes in PHP HTTP response codes CSS changed to <a> elements Changed folder structure of html files to folder with index.html Linking between main, admin and caching pages Added footer to caching page |
||
---|---|---|
.idea | ||
admin | ||
api | ||
assets | ||
caching | ||
config | ||
.gitattributes | ||
.gitignore | ||
admin.js | ||
caching.js | ||
CODE_OF_CONDUCT.md | ||
get_config.js | ||
get_functions.js | ||
get_stats.js | ||
index.html | ||
index.js | ||
README.md | ||
set_config.js |
Plex Wrapped
Introduction
A website-based platform and API for collecting Plex user stats within a set timeframe using Tautulli. The data is displayed as a stat-summary, sort of like Spotify Wrapped. Yes, you need Tautulli to have been running beforehand and currently for this to work.
Features
- Custom timeframes
- Movies, shows & music
- Caching of results
- Friendly, dynamic display for statistics with nice illustrations
- Email and username search
- Admin page with authentication for settings
- Pre-caching of user-sets
Credit
- Beautiful illustrations downloaded from FreeWebIllustrations
- Amazing statistics gathered using Tautulli
- Wonderful loading icon from icons8
Instructions
This is a web-based platform. Place it in a webserver like Apache or Nginx and make sure it processes PHP content.
There are multiple settings you must configure! They will be stored in config/config.json, but can be configured easily at your-domain-or-ip/admin.html.
PHP will have issues with this API based on the results you want. If you have a large time frame for your wrapped period and there are a huge amount of Tautulli entries you can have multiple issues. In your php.ini file you may have to change:
- max_execution_time=enough seconds for the script to finish
- memory_limit=enough M for the script to handle JSON data
- max_input_time=enough seconds for the script to parse JSON data
You need to give PHP permission to read and write to files in the directory called config.
The config directory contains sensitive information that must be accessed by PHP scripts! There is an .htaccess file included that is effective with Apache, but if you are using Nginx you must add a directory deny in your Nginx configuration!
The cache is stored in config/cache.json, but can be cleared using the admin menu.
Your password is hashed and stored in the config/config.json.
If you visit your-domain-or-ip/caching.html you can do a pre-caching of a set of users. This is very useful if you want to prepare for a lot of traffic.
Need help?
If you have any issues feel free to contact me. I am always trying to improve the project. If I can't, many people on several forums (including /r/plex) might be able to assist you.
Goodybye.