Display Management
Register screens, group them by location or zone, and monitor health (online · offline · maintenance) at a glance.
Open Source · MIT Licensed
MacroSignage is a Flask-based platform for managing screens, scheduling playlists, and serving signage content across any number of displays — all from a single web console you run on your own hardware.
Features
A focused toolkit for the everyday operator — register a display, drop in media, build a schedule, walk away.
Register screens, group them by location or zone, and monitor health (online · offline · maintenance) at a glance.
Mix images, video, plain text, raw HTML, and YouTube embeds. One library, every common signage format.
Build active windows with weekday rules, target specific displays, and rotate playlists automatically.
Many-to-many assignment between media and displays. Push the right content to the right wall — never both.
Runs on your network. Your media, your schedules, your audit trail — CSRF-protected forms and login sessions out of the box.
Flask 3 + SQLAlchemy on the server, Bootstrap 5.3 on the client. Familiar, batteries-included, easy to extend.
Built on
Quick start
Install from PyPI, or clone the repo for development.
pip install MacroSignage
macrosignage dev
Then open http://127.0.0.1:5000 in your browser.
git clone https://github.com/BaezFJ/MacroSignage.git
cd MacroSignage
uv venv && source .venv/bin/activate
uv sync --all-groups
macrosignage dev
Production: macrosignage prod --host 0.0.0.0 --port 8080
Roadmap
Pre-Alpha today (v0.2.3). Tracking toward a stable v1.0.
App factory, configuration system, DB, auth scaffolding, test suite.
Admin dashboard, media management, display registration & assignment.
Time-based rotation, fullscreen player view, playlist management.
REST API, real-time updates, multi-user roles, GitHub Actions CI.
Production-hardened, full docs, deployment guides for Docker & systemd.
Community