--- title: Ticky created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, kanban, typescript, react, postgresql, minimal, trello-alternative, agpl, personnel] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/dvjsharma/Ticky, https://tickyapp.com/] --- # 🐝 Ticky > **Le Kanban TypeScript minimaliste** — projet jeune, code propre, PostgreSQL, parfait pour un usage personnel ou pour les amateurs de stacks TS épurées. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [tickyapp.com](https://tickyapp.com/) | | **GitHub** | [dvjsharma/Ticky](https://github.com/dvjsharma/Ticky) | | **Licence** | AGPL-3.0 | | **Langage** | TypeScript (React + Node.js) | | **Étoiles GitHub** | 12 ⭐ | | **Dernière MAJ** | 2026-05-08 | | **Catégorie** | [[cat-kanban\|Kanban]] | ## 📝 Description **Ticky** est un **petit Kanban open source** écrit en **TypeScript** (React côté front, Node.js/Express côté back, **PostgreSQL** pour la persistance). Le projet est récent (sortie 2024) et vise la **simplicité absolue** : une interface **Trello-like sans superflu**, un code **lisible en moins d'une heure**, et une stack moderne **full TypeScript** pour les développeurs qui veulent **auditer ou étendre** le projet. Les fonctionnalités restent basiques mais suffisantes pour un **usage personnel ou une petite équipe** : **tableaux, listes, cartes, étiquettes, dates, descriptions Markdown, drag-and-drop**. Ticky n'embarque ni marketplace de plugins, ni modules avancés (Gantt, time-tracking, swimlanes) — c'est un **clone Trello honnête et minimaliste**. Pour un **homelab** qui veut un Kanban **sans la complexité d'un WeKan** ni le côté "usine" d'un OpenProject, Ticky peut faire le job à condition d'**accepter le jeune âge du projet** (12 étoiles, MAJ espacées, peu de retours en production). Voir aussi [[app-kan]] (Go + SQLite, plus mature) ou [[app-kanba]] (React + Mongo, compromis proche). ## 🚀 Installation ### Option recommandée : Docker Compose ```yaml services: ticky-web: image: ghcr.io/dvjsharma/ticky-web:latest container_name: ticky-web restart: unless-stopped ports: - "5173:5173" environment: VITE_API_URL: "http://ticky-api:4000" depends_on: - ticky-api ticky-api: image: ghcr.io/dvjsharma/ticky-api:latest container_name: ticky-api restart: unless-stopped ports: - "4000:4000" environment: DATABASE_URL: "postgresql://ticky:***@db/ticky" JWT_SECRET: "changez-cle-jwt-32-chars-minimum" PORT: "4000" NODE_ENV: "production" depends_on: - db db: image: postgres:16-alpine container_name: ticky-db restart: unless-stopped environment: POSTGRES_USER: ticky POSTGRES_PASSWORD: ticky POSTGRES_DB: ticky volumes: - ticky-pg:/var/lib/postgresql/data volumes: ticky-pg: ``` ### Installation manuelle (développement) ```bash git clone https://github.com/dvjsharma/Ticky.git cd Ticky # Backend cd server && npm install && npm run dev # Frontend (autre terminal) cd client && npm install && npm run dev ``` ## ⚙️ Configuration Initiale 1. Démarrer la stack, ouvrir `http://localhost:5173`. 2. Créer le compte administrateur (premier compte = admin). 3. Définir un `JWT_SECRET` robuste (32+ caractères). 4. Brancher le **reverse-proxy HTTPS** (Caddy, Traefik) en pointant vers `:5173`. 5. Activer le **SMTP** (variables d'env `SMTP_*`) pour les notifications par e-mail. 6. Activer **Watch** sur le dépôt GitHub (release cycle encore irrégulier). 7. Sauvegardes : dump PostgreSQL + volume `ticky-pg`. ## 🔄 Alternatives ### Open Source - [[app-planka]] — Kanban React/Redux mature (le plus populaire) - [[app-wekan]] — Kanban Node.js complet - [[app-kanboard]] — Kanban PHP minimal - [[app-vikunja]] — Tasks + Kanban en Go - [[app-kan]] — Kanban Go ultra-léger - [[app-kanba]] — Kanban React + Mongo - [[app-kaneo]] — Kanban TypeScript moderne ### 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 : **fortement recommandé** de placer Ticky derrière **Authelia/Authentik** pour le 2FA global - ⚠️ Projet jeune : **surveiller les CVE Node.js/Express** (mise à jour régulière de l'image Docker) - ✅ Exiger HTTPS via reverse-proxy - ✅ Isoler le conteneur DB sur un réseau Docker privé - ✅ Variables d'environnement pour tous les secrets - ⚠️ Tester la **procédure de restauration** avant déploiement en équipe ## 📚 Ressources - [Site officiel Ticky](https://tickyapp.com/) - [GitHub dvjsharma/Ticky](https://github.com/dvjsharma/Ticky) - [Issues / Roadmap](https://github.com/dvjsharma/Ticky/issues) - [Wiki projet](https://github.com/dvjsharma/Ticky/wiki) - [Démo live](https://demo.tickyapp.com/) ## Pages Liées - [[cat-kanban]] — Catégorie Kanban - [[recettes-docker-compose]] — Templates Docker Compose - [[app-planka]] — Alternative mature - [[app-kan]] — Alternative Go plus légère - [[app-kanba]] — Alternative React/Mongo