Actually open source signage.
Self-hosted digital signage for Android TV, Fire TV, Google TV, and Linux.
Documentation · Install a Player · Contributing · License
Tilecast is an open-source digital signage platform for organizations that want to run their own signage infrastructure without relying on a paid cloud service. Run the Tilecast Server on your own hardware, manage displays through Tilecast Studio, and connect Android TV or Linux devices running Tilecast Player.
- Self-hosted — your server, database, media, and players stay under your control.
- Media library — upload and organize images and videos with folders, collections, tags, availability dates, and expiration.
- Playlists & layouts — sequence content or build multi-zone screen layouts with media, widgets, text, shapes, and playlist zones.
- Scheduling — target content to screens and groups with scheduled assignments and takeovers.
- Widgets — clocks, countdowns, QR codes, websites, YouTube, tickers, menus, tables, agendas, weather, metrics, and more.
- Data Sources — connect reusable Calendar, RSS, Atom, JSON, CSV, weather, transit, alerts, manual data, and other structured sources to visual content.
- Offline playback — players cache content and continue operating when the server or network is temporarily unavailable.
- Fleet management — monitor screens, send remote commands, organize displays, manage groups, perform bulk changes, and view live previews.
- Reliability tools — unattended startup, watchdog recovery, safe mode, kiosk controls, and player health reporting.
- Team workflows — roles, content review, publishing controls, screen scopes, and multi-factor authentication.
- Integrations — API access, integration tokens, webhooks, notifications, and Prometheus-compatible fleet health.
- Built-in plugins — submission forms, countdown bars, emergency alerts, watermarks, and other signage workflows.
See Widgets, Data Sources, and Layouts for a detailed overview of Tilecast's content system.
Tilecast currently provides two Player platforms:
| Platform | Support |
|---|---|
| Android TV | Fire TV, Google TV, and other compatible Android TV devices |
| Linux | x86_64 signage computers with kiosk and systemd support |
| ARM Linux | Working on it |
Both platforms support the core Tilecast playback system, including pairing, playlists, layouts, widgets, scheduling, offline caching, remote management, and live previews.
For installation and deployment:
- Docker Engine
- Docker Compose v2
Clone the repository and create your environment file:
cp deploy/docker/.env.example deploy/docker/.envEdit deploy/docker/.env and replace POSTGRES_PASSWORD with a strong password.
For a local HTTP installation, leave:
TILECAST_COOKIE_SECURE=falseStart Tilecast:
docker compose --env-file deploy/docker/.env -f deploy/docker/compose.yml up -d --buildThen open:
http://localhost:8080
Tilecast will guide you through creating the organization and first Owner account. Database migrations run automatically when the server starts.
Check the installation with:
curl http://localhost:8080/healthz
docker compose --env-file deploy/docker/.env -f deploy/docker/compose.yml psFor a production deployment, see Deployment.
The Tilecast Wiki contains setup and operational guides.
Technical documentation is also maintained in docs/, including:
- Deployment
- Architecture
- Widgets, Data Sources, and Layouts
- Display Control
- API
- Integrations
- Built-in Plugins
- Content Review
- Multi-factor Authentication
Tilecast is primarily built with:
- Go — server
- React + TypeScript — Studio
- Kotlin — Android Player
- Electron — Linux Player
- PostgreSQL — database
See Development Setup for local development instructions.
Contributions, bug reports, and improvements are welcome.
Read CONTRIBUTING.md before submitting changes.
Tilecast is licensed under the GNU Affero General Public License v3.0.