Garlic-Hub is a comprehensive Digital Signage Management solution that handles core CMS tasks alongside device management. From single-screen setups to distributed networks, it provides centralized control with flexibility for various signage environments.
Note: Garlic-Hub is under active development. This version is intended for evaluation and testing purposes. For production use, we recommend closely monitoring progress and providing feedback.
Feature Freeze is near. Currently Working on:
- Trigger
- writing unit tests
- fixing errors
- Refactoring ugly classes
Garlic-Hub is being developed in three phases, each delivering a distinct edition:
Edition | Target Environment | Key Features | Status |
---|---|---|---|
Edge (Phase 1) | Single-device or small deployments | Basic media management, SMIL playlist creation, lightweight architecture | ✅ MVP ready, in testing |
Core (Phase 2) | Mid-sized networks, NAS | Limited device management, enhanced content creation | 🔄 Planned |
Enterprise (Phase 3) | Large-scale networks | SaaS/on-premise, role-based permissions, advanced analytics | 🔄 Planned |
Each edition builds upon previous features, ensuring a smooth upgrade path as Garlic-Hub evolves into a comprehensive, SMIL-based digital signage solution.
Section | Status | description |
---|---|---|
Core Framework | ✅ | Database, migrations, logging, routing, middleware and error handling with SLIM 4 |
Initial admin user | ✅ | Set initial admin user after installation |
User management | ✅ | Basic user management |
Authentication | ✅ | Session-based login with remember-me functionality and basic OAuth2 token authorization |
Media Management | ✅ | Hierarchical content organization with multi-source uploads (local, external links, screencasts, camera, stock platforms with API-key) |
SMIL Playlists | ✅ | Playlist management and export in industry-standard SMIL format |
Push support | ✅ | Push playlist to a local player |
Multi-Zone Content | ✅ | Graphic display zone editor |
Conditional Play | ✅ | Define datetime conditions for media playback |
Trigger | planned | Trigger to play media or nested playlists by priority based on Accesskeys, Touch/Click, Datetime, and Network |
Multi-Zone Content | ✅ | Graphic display zone editor |
Local Player Support | ✅ | Integration with one local media player |
Internationalization | ✅ | Locale-specific configurations and adaptable UI (English complete, German complete) |
- Online documentation
- Device management for remote configuration and monitoring
- Real-time reporting and system health monitoring
- Image templating engine
- Raspberry Pi Player / CMS Bundle
- Scalable deployment options
- add multiple languages (French, Russian, Spanish, Greek)
- PHP 8.4 with strict types
- SLIM 4 Framework
- Phpstan Level 8 targeting 0 errors
- PHPUnit 12 targeting >95% test coverage
- Vanilla JavaScript and external libraries
- Composer libraries
- Coding Standards
- Installation
- Exceptions
- DI-Container
- CLI.php—Command Line Interface
- Api/Oauth2 - API and Oauth2
- User- Administration
- Connect Media Player
Contributions are highly encouraged. As the project is in early development, please note that code, features, and documentation are subject to change as we evolve toward a production-ready state.
Garlic-Hub is open-source software licensed under the Affero GPL v3.0 License.