--- 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](https://kaneo.app/) | | **GitHub** | [usekaneo/kaneo](https://github.com/usekaneo/kaneo) | | **Licence** | AGPL-3.0 | | **Langage** | TypeScript (NestJS + React) | | **Étoiles GitHub** | 334 ⭐ | | **Dernière MAJ** | 2026-05-25 | | **Catégorie** | [[cat-kanban\|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 ```yaml 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) ```bash git clone https://github.com/usekaneo/kaneo.git cd kaneo pnpm install pnpm --filter @kaneo/api dev pnpm --filter @kaneo/web dev ``` ## ⚙️ Configuration Initiale 1. Démarrer la stack, ouvrir `http://localhost:5173`. 2. Créer le compte administrateur (premier compte = admin). 3. Configurer le **reverse-proxy HTTPS** (Caddy, Traefik) en pointant vers `:5173`. 4. Définir un `JWT_SECRET` robuste (32+ caractères). 5. Activer le **SMTP** (variables d'environnement `SMTP_*`) pour notifications. 6. Configurer l'**API publique** (`PORT: 1337`) derrière le reverse-proxy si besoin d'intégrations. 7. 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_SECRET` configurable - ✅ 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 - [Site officiel Kaneo](https://kaneo.app/) - [Documentation Kaneo](https://kaneo.app/docs) - [GitHub usekaneo/kaneo](https://github.com/usekaneo/kaneo) - [Démo live](https://demo.kaneo.app/) - [Roadmap publique](https://github.com/usekaneo/kaneo/projects) ## 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