[REL] Plex Movie Poster Display



First the Disclaimer – I am a network engineer, not a programmer. I play around with code. I am publishing this to give back to the communities that have helped me learn. There may be better ways of scraping the Plex Posters, but this is the way I chose to do it. I am open to suggestions. Use at your own risk.

Added X-Plex-Token to code.

Blog Post About Project - No Popups or Ads, just a a willingness to share.
Github Page

I always thought it would be cool to have a display outside my media room that would show the poster of the movie or TV show that is currently playing. I searched the internet and found similar projects, which were all windows programs. There was just one problem… I wanted to run this project on a Raspberry Pi 3 running Linux. So, unsatisfied with the solutions I found online, I decided to build my own.

Prerequisites :
A functioning Plex Server
Web Server – I am running NGINX
PHP – I am running version 5.6.22
Web Browser - I am running Chromium on a Raspberry Pi that is also running web server.
X-Plex-Token – Find out how to get your token here.

Features :
Custom Text on top and bottom of posters.
Cache posters locally.

Installation :
Copy all the files into the root of your web server.
Fix permission on cache folder (chmod 777 cache)
Edit the config.php file.
Open the URL to your server in a broswer.

I am nervous about releasing this to the public since I am still learning programming languages, but I thought someone might find it useful. If you modify the code to fix it or make it better please share back to the community.

Also if you have trouble installing please read the blog post. I have some tips at the bottom of the post that might help. If you are still having trouble getting it to work please post here or on the GitHub page. I will try and help.

Thank you,


Amazing ! Thanks you so much !


@Jig_Saw said:
Amazing ! Thanks you so much !

Thank you, it was a fun project . I hope someone else finds it useful.


Ugh, I just realized posted this as a question. Sorry about that.


awesome idea


After updating to Plex Server Version this application seems to have broken. The program tries to access http://[plex_server_ip]:32400/status/sessions but after the update the server returns "401 Unauthorized". I do not have a work around yet.

If anyone has any suggestions please let me know so I can update the code.

Thank you,


You may need to add your Plex Token to the URL ?X-Plex-Token=YOURTOKENVALUEHERE
REF: https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token


Thank you. I just updated the code, did a quick test, and committed it to github.


are you using the PI as a server or as the client?


The PI is simply a client that scraps the Plex server for what is currently playing and then displays the poster on a screen.


Matt - sorry for a real off topic post, i read your blog post and saw mention of "similar things but for windows" I was wondering what they were, I love your project and have it setup at home, but was wondering what windows option's there were?


No problem. The windows app i was talking about is http://movieposterapp.com/ . I have never used it, but my understanding is it works with Plex.

On a side note I will try to releases a new version of my app the the first part of next year. I added a small admin web interface to help with configuration, poster management, and custom poster (Example: Super Bowl)

Hope this helps.


cool idea this, I have one question, When nothing is playing, can I get it show photos rather than unwatched Movies ?


I will add it to the list. :)
Sorry no ETA or promises at this time.



What an amazing project, I would love to have this. I assume we can use any screen/monitor for this?


Sorry I was traveling and could not get back to this thread till now.

Yes. I have the project running on a raspberry pi connected to an older Vizio screen vie HDMI.

The next release is still in the works. Since I have been traveling I did not have much time to work on it so I don't have an ETA.



Really interested in making an attempt at this outstanding looking project! Looking at your info here and on your blog post...
I am a bit confused, did you setup ur Pi with NGINX and PHP or was done on the computer that you are using as your Plex Media Server? Also, what size TV/monitor do you choose to use for your project?


Hey, i really like the idea. But after i edited the Config.php with my Token and ip address for the server and client. i open the Website i get a black page nothing more :(
Can you help me to get it working?


@bam2000 said:
Hey, i really like the idea. But after i edited the Config.php with my Token and ip address for the server and client. i open the Website i get a black page nothing more :(
Can you help me to get it working?

I'm getting the black screen as well. Did you setup the web server on a Pi or on the computer running Plex Media Server?
NGINX only has a Linux download so I'm thinking what I did is all wrong. I setup my Mac Mini with Plex Media Server as the web server and enabled PHP on it. I just noticed this... "Web Browser - I am running Chromium on a Raspberry Pi that is also running web server." Hope to get some assistance, this would be a fantastic addition!


@JEscHT @bam2000 My setup is the web server (NGINX in my case) and the browser ( Chromium ) on a Raspberry Pi 3 that is connected to a display via HDMI. I am running PMS on a headless server in a closet, not the Pi. I hope this helps.

If you are still getting a black screen can you please post what version of PMS you are using. Also are you able to browse to http://IPADDRESSOFPLEXSERVER:32400/status/sessions ?

Thank you,


I just installed NGINX and setup php, moved folders and files to /var/www/html on my Pi3, fixed permission on the cache folder, edited the config.php file with the local IP address of the Plex Media Server and Plex token as well as my custom text.
The URL still continues to just display a black screen in my browser. Hoping for any further guidance.
I am on Plex Server version but I'm using Google Chrome as the browser to check the URL from my laptop. Should I try Chromium from the Pi? I am able to access the address: http://ipaddressofplexserver:32400/status/sessions with and without the token in the URL. Thanks for the assistance.