If you have not already, we suggest setting your Plex username to something else rather than email which is displayed on your posts in forum. You can change the username at https://app.plex.tv/desktop#!/account
Welcome to our forums! Please take a few moments to read through our Community Guidelines (also conveniently linked in the header at the top of each page). There, you'll find guidelines on conduct, tips on getting the help you may be searching for, and more!

[DISCONTINUED][REL] PHP - webDash v2.5 - Plex Media Server Landing Page[UPDATED]

lexus232lexus232 Posts: 61Members ✭✭

Hello, not so long ago I started working on PlexDash , which eventually became PlexDash v1.7.
Now, I have discontinued the development and rewrote the code.
Recent Movies(no need for third party software like PlexPY)
Image and Information caching through SQL(to speed up loading process and get rid of server load)
Server Status
Revamped Design
Dynamic content(users can add their own nav items and edit pages)
One config file(unlike the other version)
Plex Media Server
-upload the contents of plex_dash to your web folder
-chmod 777 /images
-rename config.php_new to config.php and open it
//your servername
$servername = "YOURSERVER";
//ad content password
$rpassword = "sample"; //used fo add_content.php
$host_s = ''; //plex server - used for status script
$port = 32400; // port used for status script
$host = "SERVER+PORT"; //host+port - used for grabbing data off plex -
$token = "TOKENHERE"; //Plex Token - no need to explain what this is
$section_movies = "2"; // section id for movies
$section_music = "1";//section id for music
$server = "localhost"; //mysql server
$username = "user"; //mysql user
$password = "pass"; //mysql pass
$dbname = "yourdb"; //mysql db
-open up phpmyadmin or whatever you use for your sql server and run
open up add_content.php and use $rpassword,then click proceed
voila, you are done


It is still a work in progress, but let me know what more features would you like.


Changelog: Restyled recent_shows.php - some might like it , some might not.
Restyled get_recently_added.php and added icons for media type.
Added IMDB Rating and Year Support for tv shows :)
Installation: No configuration required - just drop all files in the /inc folder and hit REPLACE ALL. That's it!

[UPDATE V1.6:]
Changelog: Added support for querying the show title.Displaying not only episode information , but show information as well.
THIS IS A SIMPLE UPDATE: JUST DROP the two files - recent_shows.php and show_info.php in the inc folder.No need for reconfiguring anything :)
TV Show Information:

Episode information:

[UPDATE V1.5:]
Added ability to display recent TV Shows and Episodes
Added show_info.php script , to grab episode info and summary.
Rewrote config.php
Rewrote dash_config.php
Added ability to disable sections : Most Recent Content, Latest 5 Movies, Latest TV Shows & Episodes from dash_config.php(Set to TRUE for displaying or FALSE for disabling a specific section)

FOR THIS UPDATE YOU MUST reconfigure config.php and dash_config.php, the rest stays the same
And for the folks who want to use the TV SHOWS feature, grab a TVDB api. If you don't want the feature, you won;t have to.
Installation steps are the same , just reconfigure variables in config.php and dash_config.php
If you have this already installed just replace everything but the plex_db folder,otherwise you will have to configure plex_db as well, which I do not see a point in doing , since nothing is changed there.

[UPDATE V1.4]:
Changelog: Added youtube trailer support for recent_movies
Rewrote dash_config.php file for better handling of the configuration. No more issues with the server status.
If you just want to update, extract the files somewhere, set the variables in inc/dash_config.php and then copy them to plex_dash.
PS: If you didn't grab the previous updates, you gonna have to grab the whole plexdash_v1.4.zip file.
Screenshot: Trailer Support

[UPDATE V1.3]:
Changelog: Fixed Posters not showing if movies haven't been added lately. - recent_movies.php
Changing the count value may have solved the problem .but it creates a lot of load since it was requesting for an array of epic proportions. Now, I only queries the recently added movies by using section_id parameter.
You gonna have to find yours. Simple, go to plex, select a movie, view info, view xml and search for ""librarySectionID".
Open inc/config.php set the $section_id_movies to your library section id value.
example: librarySectionID="2" . this is how it should look like.
PS: If you downloaded the previous version(1.2), nothing is really changed. Simply download update_plexdash1.3.zip and extract it to the plex_dash folder. don't forget to set your plexpy url and api back in the new config.php file.
[UPDATE v1.2]:
Changelog: Revamped the stylesheet. White tables on dark backgrounds can tire the eyes
Rearanged the server status and now it;s on the top of the page, not on the bottom.
Added a small copyright line at the bottom of the page.
For thoes who already installed plex_dash. Just reedit the config.php file from /inc/ and also reedit index.php check_Server() function to match your server
For thoes who are new to this, instructions on how to install are bellow.
GitHub Page:https://github.com/alexanderthegreat96/plexdash

Hello. A while ago I was searching for a perfect plex landing page. I hardly found one ,but it was plain HTML so I decided to improve it. And I added scripts from users and even wrote three of my own and now I have decided to release it to the public.
This work is based on:
PlexRedirect : https://github.com/ITRav4/PlexRedirect
PLPP - Plex Library Presenter https://forums.plex.tv/discussion/218740/beta-release-php-library-presenter-for-plex-plpp-v0-8-beta
PlexPY (mostly the API): https://github.com/drzoidberg33/plexpy
PlexFeed v1.4 forums.plex.tv/discussion/221995/rel-plexfeed-whats-most-recent-php-script-v1-4#latest
-Beautiful Interface
-Easy Customization
-Easy Installation

-webserver to run php
-plexpy - https://github.com/drzoidberg33/plexpy
-phpgd and curl enabled on your PHP.ini

Grab PlexPY and install it(link above)
chmod 777 /inc
chmod 777 /plex_db/config
chmod 777 /plex_db/cache

grab a plexpy api . Go to Settings > Access Control > check "enable API" and click "Generate". Copy The API to clipboard.
grab a tvdb api
open the following :

  • inc/config.php and provide the info
    $apikey = "YOUR_PLEXPY_API_KEY";
    $plexpy_url = "YOUR_PLEX_PY_URL"; //you may use ports as well ex: or whatever port you have it running on
    $section_id_movies = ""; //section id. open up a movie in plex>get info>view xml find librarySectionID

  • $section_id_shows = "2"; //plex section id for tv shows may be tec
    $tvdb_api = "TV DB API";

  • inc/dash_config.php and provide the info
    $servername = "[SERVERNAME]"; // server title
    $home_www_addr = "http:/SERVER.COM"; //your domain name without "/"
    $server_address = "http://plex.SERVERNAME.COM/"; //plex server address
    $plex_requests_addr = "http://pr.SERVERNAME.COM"; // plex requests adress , youj may use ports as well
    $plex_recently_addr_movies = "$home_www_addr/plex_dash/plex_db/index.php?item=1&type=library&filter=recentlyAdded";
    $plex_recently_addr_music = "$home_www_addr/plex_dash/plex_db/index.php?item=3&type=library&filter=recentlyAdded";
    $plexpy_addr = "http://plexpy.servername.com"; //plexpy adress , you mayh use ports as well
    $plexdb_addr = "$home_www_addr/plex_dash/plex_db/"; //dont change this
    $plex_description = "Over 500 movies, 20 TV Shows and plenty of music(147 artists).";
    $user_mail = "mail@gmail.com"; //your mail
    $server_ip = "''"; //example: "'plex.servername.com'" or "''"
    //if plex is mapped to a specific domain ,user port 80
    //if not, just specify your port set up for external access
    $server_port = "32400"; //default plex port: 32400

//enable recent movies? - 5 Recent Movies
$enable_movies = TRUE;

//enable recent tv shows? - 5 Recent TV Shows
$enable_tvshows = TRUE;

//enable recently added? - Most Recent Content
$enable_added = TRUE;

  • plex_db/config/usersettings.json and provide info
    "title": "[servername] - Media Library", //replace [servernname] with your servername
    "admin_password": "yourpasswordhere", //just pick a password or leave it this way. in case you decide to edit the password,it will be required by plex_db/settings_deny.php. just in case you are too lazy to manually edit settings yourself :)

  • plex_db/config/plexserver.json and provide info
    "useSSL": 0,
    "server": "SERVERIP", //plex server IP
    "scheme": "http",
    "domain": "SERVERIP",// plex server ip OR domain
    "port": 32400, //plex server port
    "username": "plexuser", //plex.tv username
    "password": "plexpass" //plex.tv password

  • plex_db/config/general.json and provide the info
    "script_name": "[SERVERNAME] - Media Library", //replace [] with your servername

that's it. enjoy!
alexander d.

Big kudos to :


DEMO: alexanderd.tk/plex_dash
DEMO 2.5 : http://alexanderd.ezyro.com/web_dash/



  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass
    edited June 2016

    Your example / demo looks nice.

    I grabbed the zip, and dropped it in my web server. And for how my configuration is setup, the scripts don't seem to like it.

    example, I have my plex server on 1 machine, and plexpy on another machine.

    I have some of my URLs i normally access via there own ports, so i added my url and ports for plex and plexpy, but the scripts show that my server is offline. i don't get any of the other items such as plexpy link, or even the sign up to join email.

    your original example you uses sub domains, not sure how to get that to work for my setup. I can change it to that, if i know what i need to change.

    also, i had to edit the main index.php page as it also contained your email and web address for your example.

    update: i got the page to load my settings but only some times. Fails more then succeeds in loading. Another issue i see is under the link for viewing recently added music and the library database, i get a double url, address.com/address.com/plex-data-string type of thing.

    the public way my url is written, through plex_dash i cant get them to load. i can load them by manually typing the same address in my browser though.

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • lexus232lexus232 Posts: 61Members ✭✭

    ok, this is whyh it didn't work. the status check is done via javascript and it was running on my ports.
    here is what i am talking about. You need to open up index.php an search for this line:
    function checkServer() {
    var p = new Ping();
    var server = document.domain //Try to get it automagically, but you can manually specify this
    var timeout = 2000; //Milliseconds
    var body = document.getElementsByTagName("body")[0];
    p.ping(server+":32400", function(data) { //plex server port.
    var serverMsg = document.getElementById( "server-status-msg" );
    var serverImg = document.getElementById( "server-status-img" );
    if (data < 1000){
    serverMsg.innerHTML ='Up and reachable';
    serverImg.src = "assets/img/ipad-hand-on.png";
    serverMsg.innerHTML = 'Down and unreachable';
    serverImg.src = "assets/img/ipad-hand-off.png";
    }, timeout);
    if your plex server is somewhere else than on the same network and is not running on the same machine as the web server. replace : var server = document.domain with var server = plexserver.com
    also, scroll down to plex server port and replace your port over there.
    this should work.

  • Bartlomiej BaraniecBartlomiej Baraniec Posts: 2,050Members, Plex Pass Plex Pass

    Unfortunately demo site is not working.

  • lexus232lexus232 Posts: 61Members ✭✭

    check now :)

  • lexus232lexus232 Posts: 61Members ✭✭

    just did an update. forgot to set up a couple of variables and added some instructions on how to get it running properly. please redownload.

  • coolhandluukcoolhandluuk Posts: 35Members, Plex Pass Plex Pass

    This looks amazing! Great job. I can't wait to try it out.

  • lexus232lexus232 Posts: 61Members ✭✭

    thanks :) make sure you do :D

  • coolhandluukcoolhandluuk Posts: 35Members, Plex Pass Plex Pass

    Well I didn't catch this before but I guess this is not available on Windows?

  • jrdnlcjrdnlc Posts: 52Members, Plex Pass Plex Pass

    Do you have a Github page? @lexus232

    unRAID: 6.3.5 Pro
    MB: Supermicro X9DR7 l CPU: Dual Xeon E5-2680 l RAM: 128GB DDR3 ECC

  • Deja.VuDeja.Vu Posts: 135Members, Plex Pass Plex Pass

    Got this all working now! Great job!
    Only thing not working is the Latest 5 Movies, but I think thats something I need to change that potentially you may have hard coded instead?

    PMS:AMD-FX8350 | 32GB RAM | Windows 10 | 12TB
  • lexus232lexus232 Posts: 61Members ✭✭

    @jrdnlc nope.

  • lexus232lexus232 Posts: 61Members ✭✭

    there is nothing hard-coded ,man. the latest 5 movies script it simply a file located in inc/recent_movies.php.
    how does is not work? posters don't show up or?

  • jrdnlcjrdnlc Posts: 52Members, Plex Pass Plex Pass

    After trying it out I decided I didn't need that much so went back to the regular plex redirect and now i'm just using the plex_db to show the recently added movies and tv shows instead of using Plexemail. Thanks a lot!

    @lexus232 Is there a way to exclude certain libraries from the plex_db index file?

    unRAID: 6.3.5 Pro
    MB: Supermicro X9DR7 l CPU: Dual Xeon E5-2680 l RAM: 128GB DDR3 ECC

  • lexus232lexus232 Posts: 61Members ✭✭

    of course. go ahead into plex_db/config/libraries.json and open it. find the top line "excluded_libraries": [myexcludedlibrary], . replace my excludedlibrary with whatever library you may have. if you want to exclude multiple , then add , in between them. like so "excluded_libraries": [myexcludedlibrary,myexcludedlibrary2], .should work :)

  • lexus232lexus232 Posts: 61Members ✭✭

    @jrdnlc. hold on. it doesn't work that way :))

  • lexus232lexus232 Posts: 61Members ✭✭

    set admin_password in plex_db/config/usersettings.json then open up settings_deny.php in your browser. login and then you can exclude certain libraries.

  • jrdnlcjrdnlc Posts: 52Members, Plex Pass Plex Pass
    edited June 2016

    @lexus232 that worked. Thanks! :D

    I love the fact that there is a setting page I didn't even know lol.

    unRAID: 6.3.5 Pro
    MB: Supermicro X9DR7 l CPU: Dual Xeon E5-2680 l RAM: 128GB DDR3 ECC

  • lexus232lexus232 Posts: 61Members ✭✭

    @jrdnlc. i mentioned that in the installation instructions. guess, you should've red more carefully.

  • lexus232lexus232 Posts: 61Members ✭✭

    @coolhandluuk not available on windows? just use XAMPP and Python27 to run PlexPY on your windows machine. Voila :)

  • Deja.VuDeja.Vu Posts: 135Members, Plex Pass Plex Pass
    edited June 2016

    Thats correct. No posters showing for 5 Latest Movies or names.

    But they do if I go into the Plex DB

    PMS:AMD-FX8350 | 32GB RAM | Windows 10 | 12TB
Sign In or Register to comment.