Kan is a modern, open-source alternative to Trello designed for seamless project and task management. It offers a clean, intuitive interface and a wide range of powerful 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
kan is commonly used as a self-hosted alternative to Trello. Replacing a SaaS tool with a self-hosted equivalent lets you avoid recurring subscription fees, keep full control of your data, and continue working even when the original vendor changes pricing, ships limits, or shuts down.
License: AGPL-3.0. Built with: TypeScript, MDX, JavaScript, PLpgSQL, Dockerfile, CSS, Handlebars, Shell. Website: https://kan.bn. Source: https://github.com/kanbn/kan.
services: migrate: image: ghcr.io/kanbn/kan-migrate:latest container_name: kan-migrate networks: - kan-network environment: - POSTGRES_URL=${POSTGRES_URL} depends_on: postgres: condition: service_healthy restart: "no" web: image: ghcr.io/kanbn/kan:latest container_name: kan-web ports: - "${WEB_PORT:-3000}:3000" networks: - kan-network env_file: - .env environment: - NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL} - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} - POSTGRES_URL=${POSTGRES_URL} - NEXT_PUBLIC_ALLOW_CREDENTIALS=true depends_on: migrate: condition: service_completed_successfully restart: unless-stopped postgres: image: postgres:15 container_name: kan-db environment: - POSTGRES_DB=kan_db - POSTGRES_USER=kan - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ports: - 5432:5432 volumes: - kan_postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U kan -d kan_db"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped networks: - kan-network networks: kan-network: volumes: kan_postgres_data:
Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.
Most self-hosted apps run comfortably on modest hardware — a Raspberry Pi 4, a mini PC, a NAS with Docker support, or a small VPS is usually enough for personal or family use. CPU and RAM requirements scale with how many simultaneous users or how much data you push through kan. Storage requirements depend on the kind of data you keep; check the README for guidance on data retention.