Focalboard self-hosted : kanban Trello open-source — déploiement Coolify 2026
Focalboard est l’outil de gestion de projet open-source développé par Mattermost. Il offre des vues Kanban, tableaux, calendrier et galerie — le tout hébergeable sur votre propre infrastructure. Pour les PME d’Afrique de l’Ouest qui paient Trello Premium en dollars, Focalboard self-hosted représente une alternative robuste et économique. Ce guide couvre le déploiement sur Coolify avec PostgreSQL, la configuration des templates de projets, et l’intégration optionnelle avec Mattermost.
1. Focalboard vs Trello : comparaison des coûts
| Solution | Plan | Prix mensuel | Équivalent FCFA |
|---|---|---|---|
| Trello | Standard (5 users) | 25 USD | ~15 000 FCFA |
| Trello | Premium (5 users) | 50 USD | ~30 000 FCFA |
| Focalboard (Personal Server) | Illimité | Gratuit | 0 FCFA |
| VPS Hetzner CX21 | Infrastructure | 5,83 EUR | ~3 800 FCFA |
2. Architecture Focalboard
Focalboard Personal Server est un binaire Go unique qui sert à la fois le frontend (React) et l’API. Il supporte deux backends de base de données :
- SQLite : pour les déploiements mono-utilisateur ou les tests
- PostgreSQL : recommandé pour les équipes (accès concurrent, performances)
3. Déploiement via Coolify
3.1 Créer le projet dans Coolify
- Dans Coolify : New Project → focalboard-prod
- Type : Docker Compose (raw)
- Serveur : votre VPS Hetzner
3.2 docker-compose.yml pour Focalboard
version: "3.8"
networks:
focalboard-net:
driver: bridge
volumes:
focalboard_postgres_data:
focalboard_data:
services:
focalboard:
image: mattermost/focalboard:latest
container_name: focalboard_app
restart: unless-stopped
ports:
- "8000:8000"
environment:
FOCALBOARD_PORT: 8000
FOCALBOARD_DBTYPE: postgres
FOCALBOARD_DBCONFIG: "user=${POSTGRES_USER} password=${POSTGRES_PASSWORD} dbname=${POSTGRES_DB} host=focalboard-postgres sslmode=disable"
FOCALBOARD_USE_SSL: "false"
FOCALBOARD_SERVER_ROOT: "https://kanban.monentreprise.sn"
FOCALBOARD_LOG_LEVEL: info
FOCALBOARD_SESSION_EXPIRE_TIME: 2592000
# Activer les invitations par email
FOCALBOARD_EMAIL_PUBLIC_LINK_SALT: "${EMAIL_SALT}"
FOCALBOARD_ENABLE_PUBLIC_SHARED_BOARDS: "true"
volumes:
- focalboard_data:/data
depends_on:
focalboard-postgres:
condition: service_healthy
networks:
- focalboard-net
focalboard-postgres:
image: postgres:15-alpine
container_name: focalboard_postgres
restart: unless-stopped
environment:
POSTGRES_USER: "${POSTGRES_USER}"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
POSTGRES_DB: "${POSTGRES_DB}"
volumes:
- focalboard_postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- focalboard-net
3.3 Variables d’environnement Coolify
POSTGRES_USER=focalboard
POSTGRES_PASSWORD=MotDePasseFocal2026!
POSTGRES_DB=focalboard
EMAIL_SALT=uneSalteAleatoire32Caracteres2026
3.4 Configuration du domaine dans Coolify
- Domain :
kanban.monentreprise.sn - Port :
8000 - Force HTTPS : activé
- Auto SSL : activé
4. Configuration de config.json (optionnel)
Pour une configuration avancée, vous pouvez monter un fichier config.json :
{
"serverRoot": "https://kanban.monentreprise.sn",
"port": 8000,
"dbtype": "postgres",
"dbconfig": "user=focalboard password=MotDePasseFocal2026! dbname=focalboard host=focalboard-postgres sslmode=disable",
"postgres_dbconfig": "dbname=focalboard sslmode=disable",
"useSSL": false,
"webpath": "./pack",
"localOnly": false,
"enableLocalMode": true,
"localModeSocketLocation": "/var/tmp/focalboard_local.socket",
"authMode": "native",
"enablePublicSharedBoards": true,
"logconfig": {
"level": "info",
"format": "plain",
"enableColor": true
},
"sessionExpireTime": 2592000,
"session_expire_time": 2592000,
"filesDriver": "local",
"filespath": "/data/files",
"maxFileSize": 10485760
}
5. Premier démarrage et création du compte admin
# Vérifier que Focalboard a démarré
docker logs focalboard_app --tail=30
# Chercher :
# "Focalboard Server is running on localhost:8000"
# Créer le premier admin via l'API locale
curl -X POST http://localhost:8000/api/v2/register \n -H 'Content-Type: application/json' \n -d '{
"username": "admin",
"email": "admin@monentreprise.sn",
"password": "AdminFocal2026!",
"token": ""
}'
# Réponse attendue : {"token": "...", "user": {...}}
6. Templates de projets inclus
Focalboard inclut des templates prêts à l’emploi :
- Project Task Tracker : suivi des tâches avec dates d’échéance et assignations
- Content Calendar : calendrier éditorial pour les agences de communication
- Company Goals & OKR : objectifs et résultats clés
- Agile Sprint Backlog : sprint planning et backlog produit
- Meeting Agenda : ordre du jour et compte-rendu des réunions
- Personal Goals : objectifs personnels avec jalons
6.1 Créer un tableau Kanban personnalisé pour une PME
Un tableau Kanban type pour une PME sénégalaise en construction :
Colonnes suggérées :
| Backlog | À faire cette semaine | En cours | En révision | Terminé |
Champs personnalisés :
- Priorité : Critique / Haute / Normale / Basse
- Responsable : liste des membres d'équipe
- Client : nom du client concerné
- Devis (FCFA) : montant associé à la tâche
- Date livraison : date picker
7. Gestion des équipes et permissions
7.1 Créer les équipes
# Via l'API Focalboard, créer une équipe
curl -X POST https://kanban.monentreprise.sn/api/v2/teams \n -H "Authorization: Bearer VOTRE_TOKEN" \n -H 'Content-Type: application/json' \n -d '{
"title": "Équipe Développement",
"description": "Équipe dev backend et frontend"
}'
7.2 Inviter des membres
- Connectez-vous à
https://kanban.monentreprise.sn - Allez dans Settings → Users
- Cliquez Invite User et entrez l’email du collaborateur
- Définissez le rôle : Admin, Member ou Viewer
7.3 Niveaux de permissions
- Admin : peut créer/supprimer des équipes et tableaux, gérer les utilisateurs
- Member : peut créer des tableaux, ajouter des cartes, modifier les siens
- Viewer : lecture seule — idéal pour les clients qui veulent suivre l’avancement
8. Intégration avec Mattermost
Si vous utilisez Mattermost comme messagerie d’équipe, Focalboard peut s’y intégrer :
# Dans la configuration Mattermost
# Activer le plugin Focalboard
curl -X POST https://mattermost.monentreprise.sn/api/v4/plugins/marketplace/install \n -H "Authorization: Bearer ${MM_ADMIN_TOKEN}" \n -H 'Content-Type: application/json' \n -d '{"id": "focalboard", "version": "latest"}'
# Les tableaux Focalboard apparaissent alors
# dans le panneau gauche de Mattermost
9. Accès API pour les automatisations
# L'API REST Focalboard est bien documentée
# Base URL : https://kanban.monentreprise.sn/api/v2
# Exemple : récupérer tous les tableaux d'une équipe
curl https://kanban.monentreprise.sn/api/v2/boards \n -H "Authorization: Bearer VOTRE_TOKEN" \n | python3 -m json.tool
# Exemple : créer une carte
curl -X POST https://kanban.monentreprise.sn/api/v2/boards/BOARD_ID/blocks \n -H "Authorization: Bearer VOTRE_TOKEN" \n -H 'Content-Type: application/json' \n -d '{
"id": "",
"title": "Nouvelle tâche créée par API",
"type": "card",
"boardId": "BOARD_ID",
"fields": {
"properties": {}
}
}'
10. Sauvegardes et restauration
ملخص بالعربية: فوكال بورد هو أداة إدارة مشاريع مفتوحة المصدر من Mattermost، تقدم لوحات كانبان وجداول وتقاويم. يتم النشر عبر Coolify مع قاعدة بيانات بوستجريس. يوفر الحل توفيرًا كبيرًا مقارنة بـ Trello للشركات الصغيرة في غرب أفريقيا، مع دعم لتكامل API وإدارة الأذونات.