
Kan
The open-source project management alternative to Trello.
Roadmap
·
Website
·
Docs
·
Discussions
Features
- Board Visibility: Control who can view and edit your boards
- Workspace Members: Invite members and collaborate with your team
- Trello Imports: Easily import your Trello boards
- Labels & Filters: Organise and find cards quickly
- Comments: Discuss and collaborate with your team
- Activity Log: Track all card changes with detailed activity history
- Templates: Save time with reusable custom board templates
- Integrations (coming soon): Connect your favourite tools
See our roadmap for upcoming features.
Screenshot
Made With
Self Hosting
One-click Deployments
The easiest way to deploy Kan is through Railway. We’ve partnered with Railway to maintain an official template that supports the development of the project.
Docker Compose
Alternatively, you can self-host Kan with Docker Compose. This will set up everything for you including your postgres database and automatically run migrations.
-
Create a .env file with your environment variables (see Environment Variables section below)
-
Use the docker-compose.yml file provided in the repository, which sets up Postgres, runs migrations, and starts the web service
-
Start the containers in detached mode:
docker compose up -d
The application will be available at http://localhost:3000 (or the port specified in WEB_PORT).
Managing containers:
- To stop the containers:
docker compose down
- To view logs:
docker compose logs -f
- To restart the containers:
docker compose restart
- To rebuild after code changes:
docker compose up -d --build
Local Development
- Clone the repository (or fork)
git clone https://github.com/kanbn/kan.git
- Install dependencies
pnpm install
- Copy
.env.example to .env and configure your environment variables
- Migrate database
pnpm db:migrate
- Start the development server
pnpm dev
Environment Variables
At minimum, you’ll need:
| Variable |
Description |
Example |
POSTGRES_URL |
PostgreSQL connection URL |
postgres://user:pass@localhost:5432/db |
NEXT_PUBLIC_BASE_URL |
Base URL of your installation |
http://localhost:3000 |
BETTER_AUTH_SECRET |
Auth encryption secret |
Random 32+ char string |
Optional integrations (email/SMTP, OAuth and OIDC login, S3-compatible file storage, Trello import, rate limiting, white labelling, and more) are configured through additional variables. See .env.example for the complete list.
MCP Server
Kan ships with a Model Context Protocol (MCP) server that lets any MCP-compatible AI client (Claude Desktop, Codex, Cursor, GitHub Copilot, and others) read and control your Kan instance using natural language.
Run it with npx, no clone or global install required:
npx -y @kan.bn/mcp
Configure it with two environment variables: KAN_BASE_URL (your Kan instance) and KAN_API_TOKEN (from Settings → API Keys). Then point your client’s MCP config at the npx -y @kan.bn/mcp command.
See the MCP Server docs for per-client config (Claude Desktop, Codex, and others), example prompts, the full tool reference, and troubleshooting.
Contributing
We welcome contributions! Please read our contribution guidelines before submitting a pull request.
Contributors

Proudly sponsored by TestMu AI (formerly LambdaTest) - an AI-native testing cloud platform built for modern engineering teams. Covering everything from autonomous test creation and fast execution to testing AI agents like chatbots and voice assistants. If you’re serious about testing, go check them out.
License
Kan is licensed under the AGPLv3 license.
For support or to get in touch, please email [email protected] or start a GitHub Discussion.
评论