PiPusher is free kiosk and display software. Put the server on any PHP web host,
then point a Raspberry Pi, a Windows PC or any browser at it. You design layouts and
playlists in one admin panel, and every screen plays them, even when the network goes down.
A full admin panel for your screens, content and schedules, with nothing to pay for and no cloud account to sign up for.
Keeps playing offline
Each screen downloads its content, checks it against a SHA-256 hash and caches it locally. If the server or the internet goes away, the screen keeps playing from its cache, even after a reboot. Schedules still follow the screen's own clock.
Layouts with zones
Split the screen into zones that can overlap, each with its own rotating content. Choose landscape, portrait or flipped orientation without touching the display settings.
Scheduled playlists
Limit each item to certain weekdays, a time window (it can cross midnight) or a date range, either one-off or repeating every year. A fallback layout plays when nothing else matches.
Screen groups
Change the content once for a whole group of screens, or let some screens run their own content. You can reload, sync, mute or reboot every screen in a group at once.
Live screenshots
See what every screen is showing right now. Screenshots arrive on a schedule or when you ask for one, and each layout gets a preview picture automatically.
Health at a glance
Each screen reports whether it is online, plus its IP, model, CPU temperature, free disk, cache size, boot time and last error. Remote commands are one click away.
Rich media library
Images, videos, web links, HTML pages written in the built-in editor, and ZIP bundles with your own CSS and JavaScript, all sorted into nestable folders.
Users & two-factor login
Administrators have full control, and playlist editors can only change the playlists you allow. Logins can use authenticator-app 2FA with recovery codes.
One-click client updates
Update one screen or a whole group from the admin panel. The client checks the new version before it switches, and the content keeps playing while it updates.
Backup & restore
Download your whole system (settings, users, screens, playlists and media) as one zip. Restore it, or move it to a new host, in a single step.
Set and forget
The player reloads itself once a day at a time you choose, and the kiosk restarts the browser if it ever stops. Raspberry Pi screens come back by themselves after a power cut.
Mute per screen or group
Screen alignment (X/Y/W/H)
Video plays to the end
Folders for layouts & playlists
Pairing code or auto-approve
Live data pages (e.g. weather)
Built-in server diagnostics
How it works
One server, as many screens as you like
The server holds your content. The screens fetch it, cache it and play it full screen.
1
Server
Upload the PHP app to any web host. It uses SQLite, so there is no database to set up. You manage screens, layouts, media and playlists in the browser.
PHP 8.1+ · SQLite
sync
2
Agent
A single small program on the Pi or PC. It syncs with the server, downloads and checks every file, caches it, and runs a local player.
one binary · no dependencies
play
3
Kiosk display
Chromium shows the player full screen in kiosk mode. If the browser or the agent stops, it restarts by itself, and the display stays on.
Chromium --kiosk
Try it: pull the plug
Turn the network off on the screen at the top of the page. A cloud-only player goes blank. A PiPusher screen keeps playing from its cache until the connection comes back, and then it catches up.
Platforms
Use the hardware you already have
Mix and match screen types in the same network. They all appear side by side in the admin panel.
Best choice
Raspberry Pi
Pi 3, 4, 5 and Zero 2 W on Raspberry Pi OS (Bookworm desktop). One command installs the agent, Chromium, auto-login and kiosk autostart.
Offline cache
Screenshots & previews
Remote reboot & update
Ready to flash
SD card image
A minimal DietPi image that does nothing but run PiPusher, tuned so it runs even on a 512 MB Zero 2 W. Flash it, edit one text file, then boot.
No desktop overhead
Wi-Fi set on the card
Less SD card wear
Windows PC
Windows 10/11 with Chrome or Edge works just like a Pi, offline cache included. A separate package covers Windows 7, 8 and 8.1.
Starts at login
Keeps the display on
Restarts itself if it stops
Web player
A smart TV, tablet or signage browser becomes a screen when you open its secret link. Nothing to install and no login. It does need a steady connection.
Zero install
Self-registering links
Groups & playlists
Download
Free download, v1.18.0
Start with the server, then add a client for each type of screen.
Step 1
PiPusher Server
The admin panel and device API. Upload it to any PHP 8.1+ host with pdo_sqlite. It includes all the client packages, so your screens can download them straight from your own server.
PiPusher starts at every login and adds PiPusher and Stop PiPusher to the Start menu. Turn on automatic sign-in for a dedicated screen PC, so it comes back after a power cut.
In the admin panel, go to Screens → Add web screen.
Open the screen's secret link on the TV or browser:
Make it full screen (F11 or the browser's kiosk mode). That's it.
To roll out many screens, use a self-registration link (Settings → Web player). Every browser that opens it adds itself as a new screen.
FAQ
Questions people ask
Is PiPusher really free?
Yes. There's no licence fee, no per-screen fee and no account to create. You host the server yourself, so your content and data stay with you.
What do I need to run the server?
Any web host with PHP 8.1 or newer and the pdo_sqlite extension. Ordinary shared hosting works. There is no MySQL or other database server to set up, because everything lives in a single SQLite file.
What happens if the internet goes down?
Raspberry Pi and Windows screens keep playing from their local cache, even after a reboot, and playlist schedules keep running on the screen's own clock. External web pages are skipped while the screen is offline. Browser-only web screens do need a connection.
Which Raspberry Pi models are supported?
Pi 3, 4, 5 and Zero 2 W with Raspberry Pi OS Bookworm (desktop) or newer. The ready-made DietPi image also covers Pi 2 v1.2 and Pi 400. The original Pi 1 and Pi Zero (armv6) are not supported.
Can I show portrait screens?
Yes. Each layout has an orientation (landscape, portrait, or either one flipped). PiPusher rotates the player itself, so you don't have to change the display settings on the device.
Can I show live or dynamic content?
Yes. HTML pages and ZIP bundles are ordinary HTML/CSS/JavaScript, so they can fetch live data. The included Weather sample shows how to do it, and how to fall back to the last values while offline.
Is it secure?
Each screen signs every request with its own device key. Admin logins can require two-factor authentication. The data folder is protected from direct download, and the built-in diagnostics page checks this for you. Use HTTPS in production.
How do I update?
Upload the new server files over the old ones, because your data and config aren't in the zip. Then click Update client on a screen or a group, and the screens update themselves without stopping playback.
Ready to light up your screens?
Download PiPusher and have your first screen running today.