This article describes the steps to install and use Focalboard on Ubuntu Linux.
Focalboard is an open-source alternative to tools like Asana, Trello, and Notion. It can be installed as a stand-alone application or integrated into the Mattermost platform on your servers.
Companies and businesses can use Focalboard to help their developers stay aligned to complete tasks, reach milestones, and achieve their goals.
If you want a simple and intuitive Kanban-style project management platform, you may want to look at Focalboard.
Install Focalboard on Ubuntu Linux
As described above, Focalboard is an open-source alternative to tools like Asana, Trello, and Notion. It can be installed as a stand-alone application or integrated into the Mattermost platform.
Below is how to install it on Ubuntu Linux.
Install PostgreSQL on Ubuntu Linux
Focalboard uses PostgreSQL to store its data. Therefore, you will have to install PostgreSQL on Ubuntu, and the post below shows you how.
How to install PostgreSQL on Ubuntu Linux
Once you have installed PostgreSQL, run the command below to connect to the PostgreSQL console.
sudo su - postgres psql
On the PostgreSQL console, run the queries below to create a new database called focaldb and a user account called focal user with a password.
CREATE DATABASE focaldb; CREATE USER focaluser WITH PASSWORD 'type_password_here';
When you’re done, run the command below to quit and exit the console.
\q exit
Download Focalboard on Ubuntu Linux
Once you have created a database and user, Download the Ubuntu archive package from the appropriate release in GitHub.
The example below uses the link for v0.15.0, but you’re encouraged to use the latest version in the release list:
wget https://github.com/mattermost/focalboard/releases/download/v0.15.0/focalboard-server-linux-amd64.tar.gz tar -xvzf focalboard-server-linux-amd64.tar.gz sudo mv focalboard /opt
Once you have moved Focalboard content to the /opt directory, run the commands below to edit its JSON configuration file.
sudo nano /opt/focalboard/config.json
Change the line below to match your database configuration settings.
"dbtype": "postgres", "dbconfig": "postgres://focaluser:type_password_here@localhost/focaldb?sslmode=disable&connect_timeout=10",
Save the file and exit.
Create a Systemd service file for Focalboard
After making the changes above, you’ll want to create a Systemd service to control starting and stopping Focalboard.
Run the commands below to create a new Systemd service account file.
sudo nano /lib/systemd/system/focalboard.service
Then copy and paste the content below into the file.
[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
Save and exit.
Then run the commands below to reload Systemd daemon.
sudo systemctl daemon-reload
Now you should be able to stop, start and reload Focalboard.
sudo systemctl start focalboard sudo systemctl enable focalboard sudo systemctl status focalboard
From here, you can access Focalboard on the local server using its hostname or IP address, followed by port 8080.
http://localhost:8000

However, if you want to use a domain or user-friendly name or improve performance, you may have to set up a proxy server.
Create a reverse proxy server with Focalboard
Below are two posts that show you how to set up a reverse proxy server:
You can choose either setup above. However, Nginx provides a better option with Focalboard.
Install and set up a reverse proxy configuration file for Focalboard.
sudo nano /etc/nginx/conf.d/focalboard.conf
Using Nginx reverse proxy, use the configuration below with your proxy server.
upstream focalboard { server localhost:8000; keepalive 32; } server { listen 80; server_name focalboard.example.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; } }
Save your file and exit.
Now enable and reload Nginx and connect to Focalboard with the domain name provided.
Create a new account and log in.

That should do it!
Conclusion:
- Focalboard provides an open-source alternative to popular project management tools like Asana, Trello, and Notion, offering a simple and intuitive Kanban-style platform.
- The installation involves setting up PostgreSQL, downloading the Focalboard archive package, editing the JSON configuration file, creating a Systemd service file, and setting up a reverse proxy server with Nginx for improved performance.
- Once installed and configured, Focalboard can be accessed on the local server or through a user-friendly domain name, providing businesses and developers with a powerful tool to stay aligned, complete tasks, reach milestones, and achieve their goals on Ubuntu Linux.
Leave a Reply Cancel reply