Free & self-hosted · v1.18.0

Turn any screen into a digital sign.

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.

  • No subscriptionno per-screen fees
  • No database serverPHP + SQLite
  • Offline-firstplays from cache
Welcome to Harbour Café Fresh coffee · open 07–18
Today's special Cinnamon bun
+ coffee
€ 6.50
Friday from 20:00 Live music Free entry · all welcome
12:00
Monday
14°
Opening hours: Mon–Fri 07–18 · Sat–Sun 09–16  ★  Free Wi-Fi: HarbourGuest  ★  Ask about our loyalty card  ★ 
Online · synced
Runs on
  • Raspberry Pi 3 · 4 · 5 · Zero 2 W
  • Windows 10 / 11
  • Windows 7 / 8
  • Smart TVs & browsers
  • Any PHP 8.1 host
Features

Everything a signage network needs

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
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
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.

Download server.zip · 21.6 MB
Step 2: the screen clients
Get started

Up and running in minutes

The admin panel shows these commands with your server address and registration key already filled in.

  1. Unzip pipusher-server-1.18.0.zip and upload the pipusher folder to your host, e.g. public_html/pipusher.
  2. Make pipusher/data/ writable by PHP.
  3. Open https://yourdomain.com/pipusher/ and create the admin account. You can add the sample content too.
  4. Check Settings → Server diagnostics. If anything is missing (PHP version, SQLite, write access), PiPusher tells you exactly what.

Requirements: PHP 8.1+ with pdo_sqlite (and zip for ZIP bundles and backups). Works on Apache with .htaccess and on nginx. Use HTTPS in production.

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.