Overview
Discover what makes Kanboard powerful
Kanboard is a lightweight, self‑hosted Kanban task manager written in PHP that embraces the principles of minimalism and simplicity. From a developer’s perspective, it offers a clean MVC architecture with a single‑file entry point (`index.php`) that routes all requests through the `Router` component. The core logic is split into well‑defined modules (tasks, projects, notifications) that expose both a RESTful API and a set of PHP hooks for custom extensions. The application is intentionally feature‑lean, which reduces surface area for bugs and makes the codebase approachable for contributors.
Kanban Board UI
WIP Limits & Auto‑actions
Query Language & Filters
Attachments & Markdown
Overview
Kanboard is a lightweight, self‑hosted Kanban task manager written in PHP that embraces the principles of minimalism and simplicity. From a developer’s perspective, it offers a clean MVC architecture with a single‑file entry point (index.php) that routes all requests through the Router component. The core logic is split into well‑defined modules (tasks, projects, notifications) that expose both a RESTful API and a set of PHP hooks for custom extensions. The application is intentionally feature‑lean, which reduces surface area for bugs and makes the codebase approachable for contributors.
Key Features
- Kanban Board UI: Drag‑and‑drop columns and tasks with JavaScript (jQuery) while keeping the HTML output server‑side rendered for SEO and accessibility.
- WIP Limits & Auto‑actions: Columns can enforce work‑in‑progress limits; when exceeded, the UI highlights the column. Developers can define custom actions (e.g., sending emails or moving tasks) via a simple YAML configuration that the engine evaluates on task updates.
- Query Language & Filters: A lightweight DSL (
task.status = "open" AND task.due < now()) powers the search bar and board filters, enabling dynamic SQL queries without exposing raw database access. - Attachments & Markdown: File uploads are stored in a configurable directory, while task descriptions support GitHub‑style Markdown rendered by the
Parsedownlibrary.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | PHP 8.1+ (CLI & web) |
| Framework | Custom MVC, no external framework |
| Templating | Twig (optional) or plain PHP templates |
| Database | MySQL / MariaDB, SQLite for dev; uses PDO with prepared statements |
| Frontend | jQuery, Bootstrap 4 (CSS), custom JS for drag‑and‑drop |
| APIs | RESTful JSON endpoints; Webhooks via POST payloads |
| Testing | PHPUnit, Behat (BDD) for UI scenarios |
Kanboard’s codebase is intentionally small (< 40 k lines of PHP) to keep the learning curve shallow. The use of PDO abstracts database vendors, allowing developers to swap SQLite for lightweight testing or MySQL for production.
Deployment & Infrastructure
Kanboard is designed for self‑hosting on any LAMP stack. The application requires:
- PHP extensions:
pdo_mysql,gd,curl,mbstring - A web server (Apache, Nginx) with URL rewriting enabled
- Optional Docker image (
kanboard/kanboard) that bundles PHP, Nginx, and MySQL in a single container
Because the code is stateless except for database interactions, horizontal scaling can be achieved by load‑balancing multiple application instances behind a reverse proxy and using a shared database. For very large installations, sharding the tasks table or moving attachments to an object store (S3-compatible) is straightforward thanks to the ATTACHMENT_PATH configuration.
Integration & Extensibility
- Plugin System: Developers can create plugins that hook into events (
onTaskCreated,onProjectUpdated) and expose new routes. The plugin API is documented in the official docs and includes lifecycle callbacks (install,uninstall). - REST API: Endpoints such as
/api/tasks.jsonsupport CRUD operations, filtering, and batch updates. OAuth2 authentication can be added via a plugin. - Webhooks: Configurable to trigger on task or project events, sending JSON payloads to external services (GitHub, Slack).
- Custom Fields: Users can add arbitrary fields per task; the backend stores them in a JSON column, allowing developers to query via SQL
JSON_EXTRACT.
Developer Experience
The project follows a rigorous pull‑request template, ensuring consistency. Documentation is hosted at docs.kanboard.org and covers everything from architecture to plugin development. The community is active on Discourse, GitHub Issues, and the mailing list. Licensing under MIT allows unrestricted commercial use and modification.
Use Cases
- Internal Project Tracking: Small teams needing a quick, self‑hosted Kanban board without SaaS subscriptions.
- CI/CD Integration: Trigger tasks from CI pipelines via the REST API, automatically moving tickets when builds succeed.
- Custom Workflow Automation: Use WIP limits and auto‑actions to enforce process compliance in regulated environments.
- Educational Platforms: Deploy a lightweight board for teaching agile practices, with the ability to expose the API to student projects.
Advantages
| Benefit | Explanation |
|---|---|
| Performance | Minimal dependencies and a single‑file router keep memory usage low (≈ 50 MB). |
| Flexibility | The plugin architecture allows adding domain‑specific logic without touching core code. |
| Security | PHP 8’s strict typing and prepared statements reduce injection risks; the app is audit‑ready. |
| Licensing | MIT license removes any commercial barriers, unlike proprietary SaaS solutions. |
| Community & Support | Active contributors and comprehensive docs make troubleshooting fast. |
In summary, Kanboard offers a developer‑friendly, self‑hosted solution for Kanban task management that balances simplicity with extensibility. Its lightweight PHP foundation, clear API surface, and robust plugin system make it a compelling choice for teams that need full control over their task data while keeping operational overhead low.
Open SourceReady to get started?
Join the community and start self-hosting Kanboard today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
Synapse
Matrix homeserver for secure, federated messaging

Baserow
Collaborative data platform for secure, no-code apps
Geeftlist
Collaborative Self‑Hosted Gift List Manager
Flagsmith
Open‑source feature flagging for faster releases
Sshwifty
Web-based SSH & Telnet client for instant terminal access
XWiki Platform
Collaborative knowledge management for enterprises
