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