Initial vault setup
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user