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