Files
wiki/Catalogue-Self-Hosted/apps/app-kanba.md
T
2026-06-09 18:40:21 +02:00

143 lines
4.8 KiB
Markdown

---
title: Kanba
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, kanban, react, nodejs, mongodb, minimaliste, trello-alternative, mit]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/kanba/kanba, https://kanba.io/]
---
# 🪞 Kanba
> **Le Kanban React minimaliste** — frontend React moderne, backend Node.js/Express, MongoDB, idéal pour des déploiements légers en équipe ou en solo.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [kanba.io](https://kanba.io/) |
| **GitHub** | [kanba/kanba](https://github.com/kanba/kanba) |
| **Licence** | MIT |
| **Langage** | JavaScript (React + Node.js) |
| **Étoiles GitHub** | 91 ⭐ |
| **Dernière MAJ** | 2026-05-19 |
| **Catégorie** | [[cat-kanban\|Kanban]] |
## 📝 Description
**Kanba** est un Kanban **open source et minimaliste** conçu pour les développeurs qui veulent un **clone Trello simple, rapide et moderne**, sans la lourdeur d'un [[app-wekan]] ou la complexité d'un [[app-openproject]]. La stack est volontairement **classique** : **React** (Create React App) pour le front, **Node.js/Express** pour le back, **MongoDB** pour la persistance.
L'interface reproduit le strict nécessaire : **tableaux, listes, cartes, drag-and-drop, étiquettes, membres, descriptions Markdown, dates d'échéance**. Le projet mise sur la **lisibilité du code** (idéal pour des étudiants, contributions ou forks) et sur la **facilité d'extension** (l'API REST est simple et bien organisée).
Pour un **usage personnel ou une petite équipe** (< 10 personnes), Kanba est un excellent choix : la stack est familière (Node + React + Mongo), les builds Docker sont légers (~150 Mo), et le code reste **lisible en moins de 30 minutes** de lecture. Pour des besoins plus poussés (multi-tenants, API riche, marketplace de plugins), mieux vaut se tourner vers [[app-planka]] ou [[app-kaneo]].
## 🚀 Installation
### Option recommandée : Docker Compose
```yaml
services:
kanba-app:
image: ghcr.io/kanba/kanba-app:latest
container_name: kanba-app
restart: unless-stopped
ports:
- "3000:3000"
environment:
REACT_APP_API_URL: "http://kanba-api:4000"
depends_on:
- kanba-api
kanba-api:
image: ghcr.io/kanba/kanba-api:latest
container_name: kanba-api
restart: unless-stopped
ports:
- "4000:4000"
environment:
MONGO_URI: "mongodb://mongo:27017/kanba"
JWT_SECRET: "changez-cle-jwt-32-chars-minimum"
PORT: "4000"
NODE_ENV: "production"
depends_on:
- mongo
mongo:
image: mongo:6
container_name: kanba-mongo
restart: unless-stopped
command: ["--bind_ip_all"]
volumes:
- kanba-db:/data/db
volumes:
kanba-db:
```
### Installation manuelle (développement)
```bash
git clone https://github.com/kanba/kanba.git
cd kanba
# API
cd server && npm install && npm start
# Front (autre terminal)
cd client && npm install && npm start
```
## ⚙️ Configuration Initiale
1. Démarrer la stack, ouvrir `http://localhost:3000`.
2. Créer le compte administrateur (premier compte = admin).
3. Définir un `JWT_SECRET` robuste (variable d'env du service API).
4. Brancher le **reverse-proxy HTTPS** (Caddy, Nginx) en pointant vers `:3000`.
5. Configurer le **CORS** correctement pour autoriser le domaine public.
6. Activer **Watch** sur le dépôt GitHub (release cycle court).
7. Sauvegardes : dump MongoDB + volume `kanba-db`.
## 🔄 Alternatives
### Open Source
- [[app-planka]] — Kanban React/Redux mature
- [[app-wekan]] — Kanban Node.js complet
- [[app-kanboard]] — Kanban PHP léger
- [[app-kaneo]] — Kanban TypeScript moderne
- [[app-ticky]] — Kanban TypeScript minimal
- [[app-kan]] — Kanban Go
- [[app-vikunja]] — Tasks + Kanban
### Propriétaires
- **Trello** (Atlassian)
- **Asana**
- **Notion Kanban**
- **ClickUp**
- **Linear**
- **Monday.com**
## 🔐 Sécurité
- ✅ Authentification JWT avec `JWT_SECRET`
- ✅ Bcrypt pour les mots de passe
- ⚠️ Pas de 2FA natif : protéger par reverse-proxy + VPN ou 2FA global (Authelia/Authentik)
- ⚠️ CORS à configurer finement pour éviter les abus
- ✅ Exiger HTTPS via reverse-proxy
- ✅ Variables d'environnement pour tous les secrets (jamais de valeurs en dur)
- ✅ Maintenir les images Docker à jour (projet jeune = CVE fréquentes sur Node.js)
## 📚 Ressources
- [Site officiel Kanba](https://kanba.io/)
- [GitHub kanba/kanba](https://github.com/kanba/kanba)
- [Documentation API](https://github.com/kanba/kanba/wiki/API)
- [Démo live](https://demo.kanba.io/)
- [Roadmap](https://github.com/kanba/kanba/projects)
## Pages Liées
- [[cat-kanban]] — Catégorie Kanban
- [[recettes-docker-compose]] — Templates Docker Compose
- [[app-planka]] — Alternative React mature
- [[app-kaneo]] — Alternative TypeScript
- [[app-ticky]] — Alternative TypeScript minimal