Overview
Discover what makes Planka powerful
Planka is a self‑hosted, open‑source task management platform that emulates the familiar Kanban workflow while offering rich developer hooks. At its core, Planka exposes a GraphQL API for CRUD operations on boards, lists, cards, and users, enabling tight integration with custom tooling or CI/CD pipelines. The application is written in **TypeScript** and follows a modular monorepo structure, separating the backend (NestJS‑based API server) from the frontend (React with Redux Toolkit and Material‑UI). This split allows developers to replace or extend either layer independently while still benefiting from shared types and schema definitions.
Backend
Frontend
Database
Containerization
Overview
Planka is a self‑hosted, open‑source task management platform that emulates the familiar Kanban workflow while offering rich developer hooks. At its core, Planka exposes a GraphQL API for CRUD operations on boards, lists, cards, and users, enabling tight integration with custom tooling or CI/CD pipelines. The application is written in TypeScript and follows a modular monorepo structure, separating the backend (NestJS‑based API server) from the frontend (React with Redux Toolkit and Material‑UI). This split allows developers to replace or extend either layer independently while still benefiting from shared types and schema definitions.
Architecture
- Backend: NestJS framework powered by TypeScript, leveraging decorators for routing and dependency injection. The service layer uses TypeORM to interact with a PostgreSQL database, providing a robust ORM that supports migrations and complex queries. Real‑time collaboration is achieved through Socket.IO integration, delivering instant updates to all connected clients. Authentication relies on OpenID Connect, making it straightforward to integrate with corporate IdPs such as Keycloak or Azure AD.
- Frontend: React 18 application with TypeScript, using Redux Toolkit for state management and React Query for server‑state synchronization. The UI is built with Material‑UI, ensuring a responsive design that works on desktops and tablets. Markdown rendering is handled by remark and rehype, allowing users to format card descriptions with full markdown support.
- Database: PostgreSQL is the default datastore, chosen for its ACID compliance and support for JSONB columns that store card metadata. The schema is versioned with TypeORM migrations, simplifying upgrades in production.
- Containerization: A single Docker Compose file bundles the API server, PostgreSQL, and a reverse‑proxy (NGINX) with TLS termination. Docker images are pre‑built on GitHub Container Registry, enabling quick deployment across Kubernetes or vanilla Docker hosts.
Core Capabilities
- GraphQL API: Full CRUD for boards, lists, cards, comments, and attachments. The schema is documented in the
/docsfolder and can be introspected via GraphQL Playground. - Webhooks & Events: Exposes a webhook system for external services to listen to card movements, status changes, or comment additions. Developers can register custom endpoints that receive JSON payloads.
- Plugin System: A lightweight plugin architecture allows injecting new resolvers, middleware, or UI components. Plugins are published as NPM packages and can be enabled via a configuration flag.
- Internationalization: The frontend supports i18n through
react-i18next, and the backend exposes locale‑aware error messages. Adding a new language is as simple as adding a JSON file to thelocalesdirectory.
Deployment & Infrastructure
Planka is designed for self‑hosting on any infrastructure that supports Docker or Kubernetes. The official Helm chart (under development) will simplify multi‑node deployments, while the Docker Compose setup works out of the box on VPS or cloud instances. For scalability, the API can be horizontally scaled behind a load balancer; PostgreSQL can be upgraded to a managed cluster or sharded if needed. Persistent storage is handled via Docker volumes, and backup scripts are provided in the repo to dump the database and upload it to S3 or other object stores.
Integration & Extensibility
- RESTful fallback: While GraphQL is primary, a REST layer exists for legacy clients.
- OAuth & SSO: Integration with any OpenID Connect provider is supported out of the box.
- Custom Actions: Developers can create custom card actions that trigger serverless functions or external APIs.
- Export/Import: JSON and CSV export/import tools let you migrate data between instances or integrate with other project management suites.
Developer Experience
The documentation is split into concise sections: Installation, Configuration, Development, and API Reference. Each section contains best‑practice guidelines, environment variable explanations, and migration notes. The community is active on Discord and GitHub Discussions, providing quick feedback loops for contributors. Licensing (Fair Use) ensures that developers can fork and modify the code without worrying about restrictive copyleft clauses, while an optional commercial license offers enterprise features such as advanced analytics and dedicated support.
Use Cases
- In‑house project tracking: Companies can host Planka on their internal network, ensuring data residency and compliance with GDPR or HIPAA.
- Developer tooling: CI/CD pipelines can query the GraphQL API to create cards from build failures or pull request statuses.
- Education: Universities can deploy a shared Kanban board for class projects, integrating with campus authentication systems.
- Open‑source collaboration: Maintainers can host a public instance that mirrors the issue tracker, allowing contributors to move issues through custom workflows.
Advantages
- Performance: TypeScript + NestJS gives a fast, type‑safe runtime; Socket.IO ensures low‑latency updates.
- Flexibility: The plugin system and GraphQL schema allow deep customization without touching core code.
- Licensing: The Fair‑Use license permits commercial use and modification without the need for open‑source compliance, making it attractive for enterprises.
- Community & Support: Active contributors and a clear roadmap mean that bugs are addressed quickly, and new features arrive regularly.
Planka offers developers a full‑stack, self‑hostable Kanban solution that balances ease of deployment with the ability to extend and integrate into complex workflows.
Open SourceReady to get started?
Join the community and start self-hosting Planka 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
goploader
Secure, terminal‑friendly file sharing in Go
SilverBullet
Personal wiki & note‑taking platform with Lua scripting
Opengist
Self-hosted Pastebin powered by Git
NodeBB
Modern, real‑time community forum platform
HumHub
Modular social intranet for teams and communities
Bagisto
Open‑source Laravel eCommerce for marketplaces and omni‑channel sales
