Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+122
View File
@@ -0,0 +1,122 @@
---
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