Passage de Trello à Focalboard

Passage de Trello à Focalboard
Alexandre P. dans System - mis à jour le 08-05-2025

Découvrez Focalboard, une alternative open source à Trello, et déployez-la facilement sur un VPS Ubuntu avec Docker et Nginx.

Vous connaissez Focalboard ?

C'est l'équivalent de Trello, en opensource, fait par les équipes de Mattermost, ceux qui ont refait Slack en opensource.

Pourquoi ce passage soudain à Focalboard ?

Dernièrement je travaillais sur mes projets persos, j'étais en train de mettre à jour mes petits tableaux, et à un moment j'ai voulu en créer un nouveau pour des tâches spécifiques.

Mais voilà que je tombe sur ceci:

Trello-limitation

Quelle ne fut pas ma déception.

Et oui en même temps, il faut bien qu'ils gagnent leur vie, je comprends.

L'alternative à Trello

Il n'y en a pas qu'une !

  • Taiga qui possède aussi une formule payante
  • Focalboard, qui est opensource
  • Wekan, opensource mais vieillo (Meteor 1.4 et Node 4)

Mon choix se porte donc sur Focalboard .

Ni une ni deux, je me lance.

Déploiement de Focalboard sur un serveur VPS

J'ai un VPS Ubuntu 24, donc je décide de le mettre à contribution, et je vais vous expliquer pas à pas comment déployer votre instance de Focalboard.

Serveur HTTP

J'ai déjà un Nginx d'installé, mais dans le cas où vous n'avez rien:

apt install nginx

Installation de Docker

Vous pouvez suivre la doc étape par étape sur cette url .

Si vous avez un Ubuntu aussi, vous pouvez juste faire ce qui suit:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# Install
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Création de notre config Docker Focalboard

Sur le serveur, vais dans /var/www/docker/focalboard, je crée 2 fichiers:

  • .env
  • docker-compose.yml
mkdir -p /var/www/docker/focalboard
echo "EXCLUDE_ENTERPRISE=1" > /var/www/docker/focalboard/.env
touch /var/www/docker/focalboard/docker-compose.yml

Dans ce fichier docker-compose.yml:

version: "3.7"

services:
  focalboard:
    image: mattermost/focalboard
    container_name: focalboard
    ports:
      - "8000:8000"
    volumes:
      - ./focalboard:/data
    env_file:
      - .env
    restart: unless-stopped

Puis un coup de:

docker compose up -d

Et votre instance est up ! Si vous faites un docker ps, vous devriez avoir ceci:

Docker focalboard

N'hésitez pas à vous faire une redirection sous domaine depuis votre prestataire de domaine.

En bonus, je vous donne une config pour votre nginx:

Dans /etc/nginx/sites-available/focalboard, je mets ceci:

upstream focalboard {
    #hash $remote_addr consistent;
    server 127.0.0.1:8000;
}

server {
  server_name <DOMAIN>;

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://focalboard;
    proxy_redirect off;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
  
  error_page 404 /404.html;
  location = /404.html {
      internal;
  }
}

server {
    if ($host = <DOMAIN>) {
        return 301 https://$host$request_uri;
    } 

  server_name <DOMAIN>;
  listen 80;
  return 404; # managed by Certbot
}

server {
    if ($host = <DOMAIN>) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


  server_name <DOMAIN>;
    listen 80;
    return 404;
}

Dans cette config il faudra remplacer <DOMAIN> par votre sous domaine: sousdomain.nomdedomain.com

Une fois que vous avez fait ça, il faut activer votre config avec un lien symbolique:

ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled/focalboard

Et enfin redémarrer Nginx:

systemctl restart nginx

Et pour le certifical SSL, rien de plus simple, vous installez certbot et vous l'exécutez:

sudo apt install certbot python3-certbot-nginx -y
certbot --nginx

Suivez les étapes... et TADA:

Focalboard

Enjoy !

#trello#kanban#scrumboard

user picture

Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.


Votre vie privée

Nous utilisons des cookies pour améliorer votre expérience sur notre site, analyser notre trafic et personnaliser les publicités. En cliquant sur "Accepter", vous consentez à l'utilisation de tous les cookies. Vous pouvez également choisir de refuser en cliquant sur le bouton "Refuser".