Skip to main content

Introduction

Castmill

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​

SectionWhat You'll Learn
Getting StartedInstall and run Castmill
First LoginSign up, create your account, register a device
DashboardNavigate the management interface
PlaylistsCreate and edit content sequences
ChannelsSchedule content on a weekly calendar
DevicesRegister and manage display screens

For Administrators​

SectionWhat You'll Learn
Self-HostingDeploy Castmill in production
ArchitectureUnderstand the system design
NetworksDomain-based isolation and multi-tenancy
AuthenticationPasskey-based security model
Users & TeamsRoles, permissions, and access control

For Developers​

SectionWhat You'll Learn
WidgetsBuild custom widget types
AddonsExtend the platform with server + UI addons
PlayerEmbed 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​

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
important

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.