5.1 KiB
title: Kaneo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, kanban, typescript, react, nestjs, postgresql, moderne, agpl, trello-alternative] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/usekaneo/kaneo, https://kaneo.app/]
⚡ Kaneo
Le Kanban moderne en TypeScript full-stack — NestJS/React, PostgreSQL, interface épurée, rapide et conçu pour les équipes qui veulent du Trello-like sans la dette technique.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | kaneo.app |
| GitHub | usekaneo/kaneo |
| Licence | AGPL-3.0 |
| Langage | TypeScript (NestJS + React) |
| Étoiles GitHub | 334 ⭐ |
| Dernière MAJ | 2026-05-25 |
| Catégorie | cat-kanban |
📝 Description
Kaneo est un Kanban moderne 100 % TypeScript : backend NestJS (le framework Node.js/Express d'Angular) et frontend React (avec Vite, Tailwind, shadcn/ui). Le projet vise une expérience proche de Trello/Linear avec une stack technique moderne, typée et testée. La base de données est PostgreSQL et l'API est documentée OpenAPI/Swagger.
Fonctionnalités : tableaux, colonnes, cartes, membres, étiquettes, checklists, dates d'échéance, commentaires, activités récentes, recherche globale, mode sombre/clair, et API REST complète. Kaneo met l'accent sur la performance (frontend réactif avec optimistic updates) et l'ergonomie (drag-and-drop natif HTML5, raccourcis clavier).
Comparé à app-planka (qui utilise aussi React mais avec Redux et SQLite/Postgres), Kaneo pousse plus loin la typage strict TypeScript et la séparation backend/frontend monorepo (apps/web, apps/server). Pour des développeurs qui veulent pouvoir étendre ou auditer le code, c'est un bon choix. Voir aussi app-kanba (React plus simple) et app-ticky (TypeScript minimal).
🚀 Installation
Option recommandée : Docker Compose
services:
kaneo-app:
image: ghcr.io/usekaneo/kaneo-app:latest
container_name: kaneo-app
restart: unless-stopped
ports:
- "5173:5173"
environment:
VITE_API_URL: "http://kaneo-api:1337"
depends_on:
- kaneo-api
kaneo-api:
image: ghcr.io/usekaneo/kaneo-api:latest
container_name: kaneo-api
restart: unless-stopped
ports:
- "1337:1337"
environment:
DATABASE_URL: "postgresql://kaneo:***@db/kaneo"
JWT_SECRET: "changez-cle-jwt-32-chars-minimum"
PORT: "1337"
NODE_ENV: "production"
depends_on:
- db
db:
image: postgres:16-alpine
container_name: kaneo-db
restart: unless-stopped
environment:
POSTGRES_USER: kaneo
POSTGRES_PASSWORD: kaneo
POSTGRES_DB: kaneo
volumes:
- kaneo-pg:/var/lib/postgresql/data
volumes:
kaneo-pg:
Installation manuelle (monorepo)
git clone https://github.com/usekaneo/kaneo.git
cd kaneo
pnpm install
pnpm --filter @kaneo/api dev
pnpm --filter @kaneo/web dev
⚙️ Configuration Initiale
- Démarrer la stack, ouvrir
http://localhost:5173. - Créer le compte administrateur (premier compte = admin).
- Configurer le reverse-proxy HTTPS (Caddy, Traefik) en pointant vers
:5173. - Définir un
JWT_SECRETrobuste (32+ caractères). - Activer le SMTP (variables d'environnement
SMTP_*) pour notifications. - Configurer l'API publique (
PORT: 1337) derrière le reverse-proxy si besoin d'intégrations. - Sauvegardes : dump PostgreSQL + volume.
🔄 Alternatives
Open Source
- app-planka — Kanban React/Redux mature
- app-wekan — Kanban Node.js complet
- app-kanboard — Kanban PHP léger
- app-vikunja — Tasks multi-vues
- app-kanba — Kanban React plus simple
- app-ticky — Kanban TypeScript minimal
- Linear (version self) — pas vraiment dispo, mais l'ergonomie est visée
Propriétaires
- Trello (Atlassian)
- Linear (propriétaire, ultra-rapide)
- Notion Kanban
- Asana
- ClickUp
- Monday.com
🔐 Sécurité
- ✅ Authentification JWT avec
JWT_SECRETconfigurable - ✅ API NestJS suit les bonnes pratiques OWASP (rate-limit, helmet, validation)
- ⚠️ 2FA et OAuth2 : vérifier la roadmap (peut être encore en dev)
- ✅ Exiger HTTPS via reverse-proxy
- ✅ Bcrypt pour les mots de passe (natif NestJS)
- ✅ Maintenir les images Docker à jour (projet actif)
- ✅ Isolation réseau du conteneur API
📚 Ressources
Pages Liées
- cat-kanban — Catégorie Kanban
- recettes-docker-compose — Templates Docker Compose
- app-planka — Alternative React/PostgreSQL mature
- app-kanba — Alternative React plus simple
- app-ticky — Alternative TypeScript minimal