Overview
Discover what makes Gibbon powerful
Gibbon is a self‑hosted, PHP‑based learning management system designed for educational institutions ranging from small schools to large universities. At its core, it exposes a comprehensive data model that tracks students, staff, classes, timetables, assessments, and parent/guardian relationships. The platform is built around a modular architecture where the **Core** repository contains all baseline functionality, while optional *modules* and *themes* extend or replace specific features. This separation allows developers to ship lightweight customizations without touching the main codebase, reducing merge conflicts and easing upgrades.
Language & Framework
Database
Templating
API Layer
Overview
Gibbon is a self‑hosted, PHP‑based learning management system designed for educational institutions ranging from small schools to large universities. At its core, it exposes a comprehensive data model that tracks students, staff, classes, timetables, assessments, and parent/guardian relationships. The platform is built around a modular architecture where the Core repository contains all baseline functionality, while optional modules and themes extend or replace specific features. This separation allows developers to ship lightweight customizations without touching the main codebase, reducing merge conflicts and easing upgrades.
Technical Stack
- Language & Framework: PHP 8.x with a custom MVC‑style framework that adheres to PSR standards. The codebase leverages Composer for dependency management and autoloading.
- Database: MySQL 5.7+ (or MariaDB) using a normalized schema with foreign keys for referential integrity. The ORM layer is lightweight, exposing fluent query builders and eager‑loading capabilities.
- Templating: Twig is used for view rendering, enabling developers to create reusable components and override default templates through the theme system.
- API Layer: A RESTful JSON API is available for external integration. Endpoints cover CRUD operations on core entities (students, teachers, classes) and are documented in OpenAPI format within the repository.
- Internationalisation: PO files managed via POEditor allow runtime language switching, including right‑to‑left support and full UTF‑8 compliance.
Core Capabilities
- Dynamic Permissions: Role‑based access control (RBAC) is baked into the core, with fine‑grained permissions that can be altered via the admin UI or programmatically.
- Scheduling & Timetables: A robust timetable engine supports conflicts, room allocations, and automatic timetable generation.
- Assessment & Grading: Supports multiple assessment types (tests, projects, attendance) with configurable grading schemes and report generation.
- Messaging & Notifications: Built‑in email and SMS gateways (via Twilio or SMTP) expose hooks for custom notification logic.
- Webhooks & Event Bus: Developers can subscribe to events (e.g.,
student.created,attendance.recorded) and trigger external services or micro‑tasks.
Deployment & Infrastructure
Gibbon is lightweight enough to run on a LAMP stack, but it ships with Docker Compose files that define services for the web server (NGINX), PHP-FPM, MySQL, and optional Redis for caching. The containerized image is built on Alpine Linux, keeping the footprint below 200 MB. For scalability, the architecture supports horizontal scaling of the web tier behind a load balancer, while MySQL can be promoted to Galera or Percona XtraDB Cluster for high availability. Backups are automated via cron jobs, and the database schema is versioned with migrations that can be applied through a CLI script.
Integration & Extensibility
- Modules: Each module is an isolated Composer package that registers its own routes, services, and database migrations. The core provides a
ModuleInterfaceto ensure consistency. - Themes: Themes override Twig templates and static assets, allowing complete UI customization without modifying core logic.
- API Clients: Official SDKs are available for PHP and JavaScript, simplifying consumption of the REST API. Third‑party libraries can also interact via OAuth2 authentication.
- Webhooks: Developers can configure outgoing webhooks for key events, enabling integrations with LMSs, CRM systems, or custom dashboards.
Developer Experience
The project maintains comprehensive documentation at docs.gibbonedu.org, covering everything from installation to advanced module development. The contributor guide outlines coding standards, pull request workflows, and CI expectations. Community support is active through the Ask forum, GitHub Discussions, and a dedicated Slack channel. Licensing under GPLv3 ensures that any derivative work remains open source, encouraging collaboration and rapid feature growth.
Use Cases
- Private Schools: Deploy Gibbon to replace legacy SIS systems, leveraging its modular timetable and grading features while maintaining full control over data.
- International Schools: Use the multilingual engine to serve students and parents in multiple languages, integrating with local payment gateways for tuition.
- Non‑Profit Education Programs: Run a lightweight version on low‑cost VPS instances, scaling horizontally as enrollment grows.
- Custom Learning Platforms: Extend the core with a bespoke e‑learning module, integrating Moodle or Canvas via API bridges for blended learning environments.
Advantages
Gibbon’s open‑source nature eliminates licensing fees and provides full source code access, allowing developers to audit security and performance. Its modular architecture reduces coupling, making upgrades painless while preserving custom features. The lightweight PHP stack keeps hosting costs low, and the Docker images facilitate rapid onboarding in CI/CD pipelines. Compared to commercial LMS solutions, Gibbon offers deeper customization of workflows and data models without sacrificing a polished user experience.
Open SourceReady to get started?
Join the community and start self-hosting Gibbon today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Tags
Explore More Apps
Leantime
Project management made simple for neurodivergent teams
PostHog
Open‑source product analytics and experimentation platform
Lancache
Local game download cache for faster, bandwidth‑saving installs
OpenSign
Free, secure PDF e‑signature for every workflow
Vince
Privacy‑first self‑hosted web analytics
Sourcehut
Open-source development platform without tracking or ads
