Roadmap · Website · Docs · Discussions
- 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.
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.
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
.envfile 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 -dThe 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
- Clone the repository (or fork)
git clone https://github.com/kanbn/kan.git- Install dependencies
pnpm install- Copy
.env.exampleto.envand configure your environment variables - Migrate database
pnpm db:migrate- Start the development server
pnpm devAt 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.
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/mcpConfigure 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.
We welcome contributions! Please read our contribution guidelines before submitting a pull request.
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.
Kan is licensed under the AGPLv3 license.
For support or to get in touch, please email henry@kan.bn or start a GitHub Discussion.