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, neon signs, 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.5). 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