Free & open source · MIT licence

Digital signage,
without the subscription

Self-hosted digital signage for restaurants, churches, schools, and community spaces. Manage screens from a central dashboard. No cloud. No fees. No lock-in.

displaygrid.test / Screens
Overview
Screens
Zones
Playlists
Assets
Screens  2 / 3 online
Lobby Left
Main Lobby
Online
1920×1080 60 Hz
Reception
Front Desk
Online
1920×1080 60 Hz
Corridor B
East Wing
Offline 5m ago
3840×2160 4K

Download & run — no Node.js required

Native installers for every platform. The server app runs in your system tray; the kiosk app boots displays fullscreen with no browser setup.

Server App

Dashboard + WebSocket server — system tray

Kiosk App

Display client — fullscreen, no browser needed

Files are available once a release is published. Until then, run from source.  Full setup guide →

Everything you need to run your screens

Built for operators who need reliability, not a SaaS dashboard with a monthly bill.

Multi-screen management

Configure resolution, refresh rate, rotation, colour profile, and LED panel grids per screen.

Real-time delivery

WebSocket server pushes playlist changes to all displays instantly, with no polling or page reloads.

Playlist builder

Drag-and-drop slides with per-slide durations, transitions, and day/time scheduling.

Asset library

Upload images, videos, and PDFs. Automatic WebP optimisation via Sharp, with configurable quality and dimensions.

Screen health monitoring

Live online/offline status, last-seen timestamps, and client IP, updated every 30 seconds.

Emergency override

Broadcast a full-screen urgent message to every display simultaneously with one click.

Kiosk lock

PIN-protected overlay prevents tampering. Unlock with a configurable key combination.

Role-based access

Super Admin, Admin, Operator, and Viewer roles with granular permission controls.

Offline resilience

Display clients cache their last playlist and keep playing through network outages.

Multi-zone layouts

Split any screen into independently controlled regions, each running its own playlist. Define regions by percentage coordinates.

Time-based scheduling

Restrict slides to specific days and time windows. The server re-evaluates schedules every minute and updates displays automatically.

Standalone apps

Native installers for Windows, macOS, and Linux. Server app runs in the system tray; kiosk app boots displays fullscreen with no browser config. ARM64 support for Raspberry Pi 4B/5.

Coming soon

NDI source support

Stream live video from NDI devices on the local network directly to any display region.

Up and running in minutes

No cloud account. No credit card. Just a server, a browser, and your content.

Install on any machine

Clone the repo, run pnpm install and pnpm db:migrate. Works on Windows, macOS, and Linux, including Raspberry Pi.

Run the setup wizard

Open the dashboard in your browser. Set your app name, create a Super Admin account, and configure the kiosk PIN.

Add screens & zones

Create zones to group your displays, then add screens. Each screen gets a unique pairing token.

Build playlists

Upload images, videos, and PDFs to the asset library. Create playlists and add slides with custom durations and transitions.

Pair your displays

Open the display client on any browser-capable device and enter the screen token. It connects and starts playing.

Manage from anywhere

Update playlists from the dashboard. Changes are pushed to all paired displays in real time via WebSocket.

Set up multi-zone layouts

Split a single screen into independently controlled regions, each playing its own playlist simultaneously. Define regions by percentage coordinates in the dashboard.

Schedule slides by time

Restrict individual slides to specific days and times. The server enforces the schedule automatically and refreshes displays every minute.

Install standalone apps

Download a native installer for Windows, macOS, or Linux. A tray-based server app manages the dashboard and WebSocket server, while a dedicated kiosk app runs displays fullscreen — no browser setup required. ARM64 AppImage for Raspberry Pi 4B/5 included.

Coming soon

And more…

NDI live source support, analytics, user audit logs, content approval workflows, and remote screen management on the roadmap.

The right access for every team member

From the IT admin who manages everything to the volunteer who uploads the weekly schedule.

Super Admin

Full control

Manage everything: users, screens, content, and settings. Can assign any role including Super Admin.

Admin

Content & users

Manage all screens, playlists, assets, and user accounts. Cannot delete users or assign the Super Admin role.

Operator

Content only

Day-to-day content management: screens, zones, playlists, assets. No access to user management.

Viewer

Read only

View all content pages without being able to create, edit, or delete anything.

Ready to run your own signage?

Free forever. Self-hosted. No accounts to create, no subscriptions to manage.

Get started Star on GitHub