---
title: Kan
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, kanban, golang, minimal, sqlite, agpl, trello-alternative, leger]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/kanbn/kan, https://docs.kanbn.org/]
---

# 🪶 Kan

> **Le Kanban Go ultra-léger** — binaire unique, SQLite par défaut, interface soignée, conçu pour le self-hosting minimaliste en homelab.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [kanbn.org](https://kanbn.org/) |
| **GitHub** | [kanbn/kan](https://github.com/kanbn/kan) |
| **Licence** | AGPL-3.0 |
| **Langage** | Go, TypeScript (frontend) |
| **Étoiles GitHub** | 375 ⭐ |
| **Dernière MAJ** | 2026-05-22 |
| **Catégorie** | [[cat-kanban\|Kanban]] |

## 📝 Description

**Kan** (par **kanbn/kan** sur GitHub) est un Kanban moderne écrit en **Go** (backend) et **Svelte/TypeScript** (frontend), pensé pour le **self-hosting minimaliste** : un seul binaire Go, **SQLite par défaut** (PostgreSQL en option), une image Docker légère (~30 Mo), et une empreinte mémoire d'environ **40-60 Mo en idle**. Idéal pour un **Raspberry Pi** ou un petit VPS.

L'interface reproduit le classique Kanban : **tableaux, colonnes, cartes, étiquettes, dates d'échéance, assignations, commentaires, pièces jointes**. Le projet se distingue par sa **simplicité de configuration** (une seule variable d'environnement `KAN_LISTEN_ADDR`) et par la **possibilité de fonctionner en single-user** sans authentification, pratique pour un usage strictement personnel.

Pour des usages plus avancés (multi-utilisateurs, API publique, plugins), Kan reste plus limité que [[app-planka]] ou [[app-wekan]] : c'est un **projet jeune mais très prometteur**, parfait pour qui veut du **Go rapide et propre** sans la complexité d'un framework web lourd. À surveiller : une roadmap active qui annonce un module **Gantt** et des **webhooks**.

## 🚀 Installation

### Option recommandée : Docker Compose

```yaml
services:
  kan:
    image: ghcr.io/kanbn/kan:latest
    container_name: kan
    restart: unless-stopped
    ports:
      - "9000:9000"
    environment:
      KAN_LISTEN_ADDR: ":9000"
      KAN_BASE_URL: "https://kanban.example.com"
      KAN_DB_TYPE: "sqlite"
      KAN_DB_PATH: "/data/kan.db"
      KAN_SINGLE_USER: "true"        # Mettre false pour multi-users
      KAN_JWT_SECRET: "changez-cle-jwt-32-chars-minimum"
    volumes:
      - kan-data:/data

volumes:
  kan-data:
```

### Binaire unique (Raspberry Pi, NAS Synology/QNAP)

```bash
# Build ou téléchargement depuis les releases
wget https://github.com/kanbn/kan/releases/download/v0.6.0/kan_0.6.0_linux_arm64.tar.gz
tar xzf kan_*_linux_arm64.tar.gz
./kan --listen-addr :9000
```

## ⚙️ Configuration Initiale

1. Démarrer le conteneur, ouvrir `http://localhost:9000`.
2. Mode **single-user** : aucun login, accès direct (idéal pour usage perso local).
3. Mode **multi-user** : définir `KAN_SINGLE_USER=false`, créer le premier compte via l'UI.
4. Brancher le **reverse-proxy HTTPS** (Caddy, Traefik) — Kan ne sert que du HTTP.
5. Activer le **SMTP** via `KAN_SMTP_*` si besoin de notifications par e-mail.
6. Activer **Watch** sur le dépôt GitHub (release cycle court).
7. Sauvegardes : un simple `cp kan.db` suffit en mode SQLite.

## 🔄 Alternatives

### Open Source
- [[app-planka]] — Kanban moderne React/PostgreSQL
- [[app-wekan]] — Kanban complet Node.js
- [[app-kanboard]] — Kanban PHP minimal
- [[app-vikunja]] — Tasks multi-vues (Kan + List + Gantt)
- [[app-kanba]] — Kanban React plus simple
- [[app-ticky]] — Kanban TypeScript minimal
- **Focalboard** — Mattermost Kanban

### Propriétaires
- **Trello** (Atlassian)
- **Notion Kanban**
- **Asana**
- **ClickUp**
- **Todoist (Board view)**

## 🔐 Sécurité

- ✅ Mode single-user = surface d'attaque minimale (pas de login à bruteforcer)
- ✅ Sessions JWT signées (`KAN_JWT_SECRET`)
- ⚠️ Pas de 2FA natif en single-user : **protéger par reverse-proxy + mTLS ou VPN**
- ⚠️ Mode multi-user encore jeune : vérifier les ACL avant déploiement en équipe
- ✅ Exiger HTTPS via reverse-proxy
- ✅ Maintenir l'image Docker à jour (release cycle court)
- ✅ Sauvegarde SQLite triviale via cron

## 📚 Ressources

- [Site officiel Kan](https://kanbn.org/)
- [Documentation Kan](https://docs.kanbn.org/)
- [GitHub kanbn/kan](https://github.com/kanbn/kan)
- [Démo en ligne](https://demo.kanbn.org/)
- [Releases binaires](https://github.com/kanbn/kan/releases)

## Pages Liées
- [[cat-kanban]] — Catégorie Kanban
- [[recettes-docker-compose]] — Templates Docker Compose
- [[app-vikunja]] — Alternative Go plus complète
- [[app-planka]] — Alternative React/PostgreSQL
- [[app-ticky]] — Alternative TypeScript minimal
