SELF-HOSTED DASHBOARD SERVER

A self-hosted dashboard platform for e-paper displays.

Compose dashboards in the browser, render them server-side, and push to the e-paper panels you own.

AGPL-3.0-or-later · No telemetry · No cloud account required

·
144GitHub stars
10Verified panels
MQTT + RESTTransports
1,140Passing tests
AGPL-3.0Licensed
ZeroTelemetry

Editor

Compose in the browser

Try it — change the theme, style, and matting; the preview re-renders live.
Tesserae
Home dashboardSaved 1872×1404
Dashboard

Pick a display — the preview re-renders for that panel. The layout sizes to each device.

(default)
10px
10px
Live previewLive

1872 × 1404 · Seeed reTerminal E1003 · real render, no backend

This is a live render of the preview surface. The full self-hosted editor does much more — resizable cell layouts, 30+ widgets, a theme builder, scheduling and rotations, and one-click push to every panel.See it in the app


Install

Self-host in under a minute

One container — or a one-line script, a Home Assistant App, an LXC container, or straight from source. Open the UI, set a password, and start composing.

  • No account required
  • No cloud required
  • No telemetry
  • One container
  • Runs anywhere
Full install guide in the docs
mkdir ~/tesserae && cd ~/tesserae
curl -fsSLO https://raw.githubusercontent.com/dmellok/tesserae/main/docker-compose.yml
docker compose up -d

Architecture

How it actually works

A single Tesserae server drives Raspberry Pi, ESP32, Kindle, TRMNL and custom clients at the same time. Compose once; it renders server-side and fans frames out over MQTT or REST.

MQTT
Server pushes new frames to always-on clients the moment a page changes.
REST
Battery devices wake, pull their frame over HTTP, then sleep again.

compose

MQTT / REST

MQTT / REST

REST

REST

Browser editor

Tesserae server

Raspberry Pi

ESP32

Kindle

TRMNL

Gallery

Dashboards people actually run

Weather, transit, home status, dev metrics, now-playing — composed in the browser and rendered to crisp e-ink frames.

community templates · click to enlarge

Supported hardware

One server, many panels

10 panels verified across the major e-ink families, with 7 more on the bench — expand any vendor to see what’s in progress. Add your own with a small adapter.

Hardware guide
PanelResolutionStatus
Seeed StudioTRMNL BYOS protocol
reTerminal E10031404×1872Verified
TRMNL 7.5" OG DIY Kit800×480Verified
Pimoroni Inkypi-png / pi-bin
Inky Impression 5.7"600×448Verified
Inky Impression 7.3"800×480Verified
Inky Impression 13.3"1600×1200Verified
Inky pHAT / wHATvariousVerified
WaveshareESP32
Waveshare 13.3" Spectra 61200×1600Verified
Waveshare 7.3" PhotoPainter800×480Verified
TRMNL-compatibleHTTP pull
TRMNL OG800×480Verified
Kindle Paperwhite 2 (jailbroken)758×1024Verified

Anything else: pick custom in Settings → Panel and set the dimensions. “Pending” = awaiting real-hardware confirmation.


Built for hackers

Everything is yours to run, read, and extend

No accounts, no black boxes. From the rendering pipeline to the widget catalog, every layer is open, swappable, and runs on your own hardware.

Read the source on GitHub

Most e-paper projects are one firmware pinned to one panel. Tesserae splits rendering from transport from hardware, so a single server drives every panel you own.

Designed for
  • Home Assistant users
  • Makers
  • E-paper enthusiasts
  • Self-hosters
  • Hardware hackers
  • Digital-signage builders