Introduction

Welcome to Castmill, a comprehensive open-source platform for creating and managing digital signage. Castmill provides content management, device management, scheduling, and APIs for third-party integrations and extensions.
What is Castmill?
Castmill helps you manage digital displays at any scale — from a single screen in a lobby to thousands of devices across multiple locations. The platform is built around a few core concepts:
- Networks — Isolated environments with their own domains, organizations, and data
- Organizations — Workspaces where teams collaborate on content and devices
- Playlists — Ordered sequences of widgets (images, videos, tickers, web pages)
- Channels — Weekly schedules that determine when playlists play
- Devices — Physical screens that display your content
- Layouts — Multi-zone screen arrangements for complex displays
Quick Start
The fastest way to try Castmill is with Docker Compose — you can have a running instance in under 5 minutes:
git clone https://github.com/castmill/castmill.git
cd castmill
docker-compose up
See the Quick Start guide for full details.
Documentation Guide
For Users
| Section | What You'll Learn |
|---|---|
| Getting Started | Install and run Castmill |
| First Login | Sign up, create your account, register a device |
| Dashboard | Navigate the management interface |
| Playlists | Create and edit content sequences |
| Channels | Schedule content on a weekly calendar |
| Devices | Register and manage display screens |
For Administrators
| Section | What You'll Learn |
|---|---|
| Self-Hosting | Deploy Castmill in production |
| Architecture | Understand the system design |
| Networks | Domain-based isolation and multi-tenancy |
| Authentication | Passkey-based security model |
| Users & Teams | Roles, permissions, and access control |
For Developers
| Section | What You'll Learn |
|---|---|
| Widgets | Build custom widget types |
| Addons | Extend the platform with server + UI addons |
| Player | Embed the player in custom applications |
Local Development
For contributing to Castmill or running from source, see the Self-Hosting guide for prerequisites and setup instructions.
Prerequisites
- Elixir 1.17+
- Node.js (see
.nvmrc; currently v24.13.0) - PostgreSQL 15+
- Redis 7+
Quick Setup
# Clone and install
git clone https://github.com/castmill/castmill.git
cd castmill/packages/castmill
# Database setup
mix deps.get
mix ecto.setup
# Start Redis (required unless BullMQ inline mode is configured)
redis-server
# Start the server (new terminal)
mix phx.server
Then start the dashboard:
cd packages/dashboard
yarn install
yarn dev
- Admin tool: http://localhost:4000/admin (default:
root@example.com/root) - Dashboard: http://localhost:3000
- Player: http://localhost:4000
When creating a network in the admin tool, set the Domain to localhost:3000 (including the port). The server uses this domain for CORS — if it doesn't match the dashboard's origin exactly, API calls will fail.