Passage de Trello à Focalboard

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:
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:
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:
Enjoy !

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.
Poursuivre la lecture dans la rubrique System