Focalboard es una alternativa de código abierto a herramientas como Asana, Trello y Notion. Disponible como aplicación independiente o integrada en la plataforma Mattermost, Focalboard ayuda a los desarrolladores a mantenerse alineados para completar tareas, alcanzar hitos y lograr sus objetivos.
Pasos previos
Para instalar Focalboard necesitamos tener configurado un Nginx. Para este tutorial usaremos Ubuntu 22.04.
Instalación y configuración de Nginx
Lo primero será instalar Nginx en nuestro servidor y luego deberemos de configurar un Nginx Proxy para el puerto 8000, pero con algo más de configuración de lo normal.
apt install nginx
Creamos un fichero de configuración para FocalBoard:
touch /etc/nginx/sites-available/focalboard.conf
Dentro del fichero añadimos lo siguiente:
upstream focalboard {
server localhost:8000;
keepalive 32;
}
server {
listen 80 default_server;
server_name tudominio.com;
location ~ /ws/* {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
proxy_read_timeout 1d;
proxy_pass http://focalboard;
}
location / {
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_http_version 1.1;
proxy_pass http://focalboard;
}
}
Habilitamos el servidor:
ln -s /etc/nginx/sites-available/focalboard.conf /etc/nginx/sites-enabled/focalboard.conf
Y reiniciamos Nginx:
systemctl reload nginx
Configuración de SSL
Para configurar el certificado SSL con Let's Encrypt, deberás de seguir este otro tutorial que explica como crearlo:

Instalación de PostgreSQL
Aunque FocalBoard se puede utilizar con SQLite o MySQL/MariaDB, es altamente recomendable hacerlo con PostgreSQL, para ello deberemos de seguir estos pasos:
apt install postgresql postgresql-contrib
Accedemos como usuario postgres
:
sudo --login --user postgres
psql
Y creamos la base de datos y el usuario:
CREATE DATABASE boards;
CREATE USER boardsuser WITH PASSWORD 'contraseña-segura';
\q
Salimos de la sesión de postgres
:
exit
Instalación de FocalBoard
Ahora que tenemos prácticamente todo configurado, nos tocará descargar el repositorio y realizar la configuración apropiada.
wget https://github.com/mattermost/focalboard/releases/download/v7.2.1/focalboard-server-linux-amd64.tar.gz
Descomprimimos directamente en /opt
:
tar zxf focalboard-server-linux-amd64.tar.gz -C /opt/
Editaremos el fichero de configuración para añadir la configuración de la base de datos, si hemos instalado PostgreSQL, deberemos de configurar lo siguiente:
nano /opt/focalboard/config.json
"dbtype": "postgres",
"dbconfig": "postgres://boardsuser:contraseña-segura@localhost/boards?sslmode=disable&connect_timeout=10",
dbconfig
.Configurar un servicio de SystemD
Para poder levantar o reiniciar la aplicación crearemos un servicio especifico, para ello crearemos el fichero:
nano /lib/systemd/system/focalboard.service
Con el siguiente contenido:
[Unit]
Description=Focalboard server
[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/opt/focalboard/bin/focalboard-server
WorkingDirectory=/opt/focalboard
[Install]
WantedBy=multi-user.target
Actualizamos los demonios, arrancamos al arranque e iniciamos el servicio:
systemctl daemon-reload
systemctl start focalboard.service
systemctl enable focalboard.service
En este paso, el servicio debería de estar levantado y ya podemos acceder con nuestro dominio y crearnos una cuenta nueva.
Comentarios