Focalboard is a kanban project management solution by the same team that develops the Mattermost team communication application. The free kanban board software is a lightweight, open-source cloud project management server solution available for personal computers and Ubuntu Server.
Install Focalboard Kanban on Ubuntu Server
- Log into SSH.
- Find the latest Focalboard version from GitHub and select the “Assets” link to show available downloads.
We’ll be using v0.9.1 – RC1, the latest as of September 17, 2021. Right-click the focalboard-server-linux-amd64.tar.gz file and copy the link. In SSH, use the wget command with that GitHub URL:wget https://github.com/mattermost/focalboard/releases/download/v0.9.1-rc1/focalboard-server-linux-amd64.tar.gz
- Extract the tar file:
tar -xvzf focalboard-server-linux-amd64.tar.gz
- Move the extracted directory to your /opt directory:
sudo mv focalboard /opt
- Focalboard uses SQLite by default but can be configured with PostgreSQL or MySQL. To continue with SQLite, skip to step 9. To use a database management system, create a new database and database user with your preferred database system.
- Edit the Focalboard configuration file:
nano /opt/focalboard/config.json
- Find the following lines:
"dbconfig": "./focalboard.db",
"postgres_dbconfig": "dbname=focalboard sslmode=disable",
Change the two lines according to the database system you use, replacing “db-user:db-user-password” with your database user and database user password.
PostgreSQL:"dbtype": "postgres",
"dbconfig": "postgres://db-user:db-user-password@localhost/boards?sslmode=disable&connect_timeout=10",
MySQL:"dbtype": "mysql",
"dbconfig": "db-user:db-user-password@tcp(127.0.0.1:3306)/boards", - Save changes.
- Create a service file to auto-run the kanban software after system restarts:
sudo nano /lib/systemd/system/focalboard.service
- Add the following to the new 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 changes.
- Open port 8000 in your firewall. We used ConfigServer Security & Firewall (CSF) for this tutorial.
- Reload Systemd:
sudo systemctl daemon-reload
- Start the Focalboard service:
sudo systemctl start focalboard.service
- Set the Focalboard service to run after system restarts:
sudo systemctl enable focalboard.service
- We recommend installing an SSL certificate for your domain. You can create free SSL certs with Certbot. InMotion Cloud Server Hosting customers should use PIP to install Certbot as Snapd is unsupported at this time.
(Optional) Configure NGINX
The Focalboard developers recommend installing NGINX to proxy requests from port 80. If you choose to do so, follow the steps below. If not, skip to the next section to create an admin user.
- Install NGINX:
sudo apt install nginx
- Create an NGINX site file:
sudo nano /etc/nginx/sites-available/focalboard
- Copy the NGINX configuration data:
upstream focalboard {
server localhost:8000;
keepalive 32;
}
server {
listen 80 default_server;
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;
}
} - Change the “server_name” to your server hostname.
- Save changes.
- If there is a default site fileBoard Templates, remove it:
sudo rm /etc/nginx/sites-enabled/default
- Link the Focalboard site files:
sudo ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled/focalboard
- Test your NGINX configuration setup:
sudo nginx -t
- Reload NGINX:
sudo systemctl reload nginx
Create an Admin Focalboard User
Visit your kanban URL in a web browser (e.g. example.servername.com:8000). You should see a login screen. Select “or create an account if you don’t have one.”
Enter your email address, username, and strong password. Then select “Register” to create the account and log into your Focalboard kanban application.
Congratulations on successfully installing your kanban board application.
How to Use Focalboard
In this section we’ll cover how to create and manage boards.
Board Templates
Once you log into Focalboard, select “+ Add Board” in the bottom-left corner and choose a board template to get started:
- Meeting Notes
- Personal Goals
- Personal Tasks
- Project Tasks
- Roadmap
- Empty Board
Below are screenshots of the board templates in their default view.
We’ll use “Project Tasks” since it already has the necessary statuses, priorities, and swimlanes for the most common kanban model.
At the top you can select the board icon or name to make changes. A lot of emojis are included.
The different views options are on the left:
- All Tasks (list of tasks with status and priority)
- By Priority (columns per priority level)
- By Status (Usual swimlanes including “Next up,” “In Progress,” “Completed,” and “Archived”)
Each view has options to filter and search through tasks and toggle viewing status, priority, and creation date in boards.
Kanban Board Management
You can select “+” or “+ New” under a swimlane to add an untitled task card. There you can customize:
- Task icon
- Task name
- Status
- Priority
- New properties for additional info and sorting opportunities such as contact info and URL
- Comments
- Description
Select the “X” in the upper-left corner to close the card details. Changes are saved automatically.
You can drag-and-drop cards between columns to change the status.
Focalboard User and Kanban Settings
Below we’ll cover system-wide settings available for user accounts.
User Settings
Selecting the “Focalboard” link in the upper-left corner displays a menu with the following options:
- Log out
- Change your password
- Invite more users with an one-time use special token URL
The admin account must invite additional users to use Focalboard as of version 0.9.1.
Focalboard Settings
Select “Settings” from the bottom-left corner for the following system settings:
- Import an archive of another Focalboard instance
- Export an archive of the current instance to a formatted text file
- Set the language of the kanban system between over ten options
- Set the theme between the default, light, or dark appearance
- Toggle displaying random icons throughout kanban boards and tasks
If you forget your admin password, follow official documentation at https://www.focalboard.com/guide/admin/#resetting-passwords. Don’t forget to make the file executable:
chmod +x reset-password.sh
Learn more about managing your Linux VPS with our Cloud Server Hosting Product Guide.
No matter if you're a developer, system administrator, or simply a fan of SSH and command line, InMotion's Cloud Hosting plans provide a fast, scalable environment that is budget-friendly.