147 lines
5.2 KiB
Markdown
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
|