Files
2026-06-09 18:40:21 +02:00

147 lines
5.2 KiB
Markdown

---
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