The web application creates a digital movie poster display for use on LED screens. Intended to run on a Raspberry Pi 4, but will run on any web server with Apache/NGINX and PHP 8.3+.
Built on Laravel 13, Vue 3 and Tailwind 4. Data lives in a SQLite file by default, so there is no database server to install or maintain.
- Create/Edit movie posters
- Sync posters from Plex, Kodi and Jellyfin and show currently playing
- Show content ratings, processing logos, audience ratings
- Random order or drag-and-drop ordering
- Fade, cross-fade, vertical slide or cut between posters
- Fill the screen with the poster, hide the header text, show your theater name
- Automatically fill in data using IMDB ID
- Control settings such as playing speed, transition speed, etc ...
- Control display power using HDMI-CEC on a schedule
- Show Runtime
- Movie trailers
- Movie theme music
- Movie voting — guests vote from their phones by scanning a QR code on the display
Open to new features/suggestions/requests. Please use Github issues.
Any help or contributions would be greatly appreciated. Please submit pull requests.
On a Raspberry Pi running Raspberry Pi OS Bookworm or newer:
wget -O install.sh https://raw.githubusercontent.com/devMikeFrancis/digital-movie-poster/main/install.sh
chmod u+x install.sh
sudo ./install.sh $USERThe install takes several minutes and reboots into the display. Settings are at
http://raspberrypi.local/posters, or the Pi's IP address.
Full walkthrough, including preparing the SD card: Installation.
| Installation | Requirements, SD card, running the installer |
| Updating | Taking a release, upgrading a pre-Laravel-13 install, MariaDB to SQLite |
| Adding and editing posters | Artwork, and filling in details from TMDB |
| The display | Transitions, fill screen, theater name, rating limits |
| Movie voting | Putting posters to a vote from guests' phones |
| Display power and schedule | HDMI-CEC schedule and the motion sensor |
| Accounts and security | The admin login, API tokens, credential encryption |
| Now Playing API | Reading what is playing, pushing now-playing events |
| Development | Running DMP locally, and the test suites |
| Architecture | How the pieces fit together |
There is no GitHub wiki — docs/ is the documentation, and it lives
with the code so a change and its explanation arrive together.
Don Jones created DMP and built it through version 1.x — the original concept, the poster display, and the media-server integrations it still runs on.
Mike Francis has maintained it since, and version 2.0 is a ground-up refresh of the architecture on that foundation: Laravel 9 to 13, SQLite in place of MariaDB, an authenticated admin with credentials encrypted at rest, and the display and voting work that has followed. Ongoing development continues here.
DMP is open-sourced software licensed under the MIT license.