Run a demo installation
Demo Mode starts a complete Tilecast installation that’s already full of realistic sample data: a school district with buildings, screens in every status, playlists, Layouts, schedules, and players that stay online. Studio opens signed in, so you can explore, test a change, or take screenshots without setting anything up.
Everything in a demo is real Tilecast: the same server, Studio, database schema, and API you’d deploy. Only the data and the players are simulated.
Start the demo
Section titled “Start the demo”You need Docker. From the repository root:
-
Build and start the demo:
Repository root · Start Demo Mode make demoThe first run builds the server image, so it takes a few minutes.
-
Open http://localhost:18080.
Studio opens as the demo Owner, Dana Whitfield. A Demo mode banner stays at the top of every page.
To use a different port, set TILECAST_DEMO_PORT, for example TILECAST_DEMO_PORT=19000 make demo.
What’s in the demo
Section titled “What’s in the demo”The default kitchen-sink dataset is a district with a high school, a middle school, a main office, and an athletic complex. It includes:
- 13 screens, showing every status Studio computes: online, recent, stale, offline, and disabled
- Fire TV, Android TV, and Linux players on different Player versions, in 1080p, 4K, and portrait
- display groups, a screen with no content, and a player waiting for pairing approval
- processed images, a website, tags, playlists, and Layouts, including unpublished drafts
- schedules, a draft campaign, a Countdown Bar plugin, and four user accounts
A smaller basic dataset has four screens and two playlists.
Seven screens have simulated players that stay connected. They react like real players: assign new content and the screen picks it up, or send Identify and the command completes. Stale and offline screens age from the moment the demo starts, so reset the demo to bring them back.
Simulated players do not render content. They acknowledge preview requests as unsupported, so Studio shows Capture error instead of waiting for an image. Stale screens without a previous capture show Offline in the preview panel; a cached capture remains visible as stale.
Reset or stop the demo
Section titled “Reset or stop the demo”Anything you change in Studio is kept until you reset:
make demo-resetA reset restores the same records with the same IDs. To switch datasets, run make demo-reset SCENARIO=basic.
When you’re done, stop the demo and delete its data:
make demo-downThe demo uses its own Docker project and volumes, so it never touches an installation you run with the regular Compose file.
Run the browser tests
Section titled “Run the browser tests”The Playwright smoke tests run against a running demo, with no mocked responses:
npx playwright install chromiummake demonpm run test:e2eEach test resets the demo first, and the suite refuses to run against a server that isn’t in Demo Mode. When a test fails, Playwright saves a trace and a screenshot in e2e/test-results.
See Testing and CI for Studio visual comparisons, Linux baseline updates, Widget screenshot tests, and failure reports.
Regenerate public product screenshots
Section titled “Regenerate public product screenshots”With the production demo running and Chromium installed, run:
npm run docs:screenshotsnpm run docs:checknpm run docs:buildThe generator resets the demo before each capture. Run it separately from the
browser and visual suites. It captures the real Studio UI in light and dark
appearance at 2× pixel density. The docs image follows your selected docs theme.
The generator hides only
the Demo Mode notice, including the editor’s compact badge; it doesn’t mask application content or simulate API
responses. The PNG sources go into apps/docs/src/assets/screenshots/, where
Astro can optimize their delivery.
Review every image before committing, including controls, loading states, and any sensitive information. Regenerate images when the UI changes. The capture inventory lists routes, crops, page placements, and states intentionally omitted from Demo Mode.
Learn more
Section titled “Learn more”The Demo Mode reference covers the reset API, the stable record IDs, how the simulated players work, the configuration variables, and the safety checks that keep Demo Mode off real installations.