Install Focalboard Kanban

Install Focalboard on Ubuntu - Kanban Project Management

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

  1. Log into SSH.
  2. Find the latest Focalboard version from GitHub and select the “Assets” link to show available downloads.
    Focalboard Assets on GitHub.com

    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
  3. Extract the tar file:
    tar -xvzf focalboard-server-linux-amd64.tar.gz
  4. Move the extracted directory to your /opt directory:
    sudo mv focalboard /opt
  5. 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. 
  6. Edit the Focalboard configuration file:
    nano /opt/focalboard/config.json
  7. 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",
  8. Save changes.
  9. Create a service file to auto-run the kanban software after system restarts:
    sudo nano /lib/systemd/system/focalboard.service
  10. 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
  11. Save changes.
  12. Open port 8000 in your firewall. We used ConfigServer Security & Firewall (CSF) for this tutorial.
  13. Reload Systemd:
    sudo systemctl daemon-reload
  14. Start the Focalboard service:
    sudo systemctl start focalboard.service
  15. Set the Focalboard service to run after system restarts:
    sudo systemctl enable focalboard.service
  16. 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.

  1. Install NGINX:
    sudo apt install nginx
  2. Create an NGINX site file:
    sudo nano /etc/nginx/sites-available/focalboard
  3. 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;
      }
    }
  4. Change the “server_name” to your server hostname.
  5. Save changes.
  6. If there is a default site fileBoard Templates, remove it:
    sudo rm /etc/nginx/sites-enabled/default
  7. Link the Focalboard site files:
    sudo ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled/focalboard
  8. Test your NGINX configuration setup:
    sudo nginx -t
  9. 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.”

Focalboard login page

Enter your email address, username, and strong password. Then select “Register” to create the account and log into your Focalboard kanban application. 

Focalboard "Sign up for your account" page

Congratulations on successfully installing your kanban board application.

Blank Focalboard without boards
Focalboard without boards added

How to Use Focalboard

In this section we’ll cover how to create and manage boards.

Board Templates

Focalboard "Select a template" menu

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.

Meeting Notes Focalboard board
Meeting Notes
Personal Goals Focalboard board
Personal Goals
Personal Tasks Focalboard board
Personal Tasks
Roadmap Focalboard board
Roadmap
Empty Focalboard board
Empty board

We’ll use “Project Tasks” since it already has the necessary statuses, priorities, and swimlanes for the most common kanban model.

Project Tasks Focalboard board
Project Tasks

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.

New Focalboard task options

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

Focalboard settings menu

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.

InMotion Hosting Contributor
InMotion Hosting Contributor Content Writer

InMotion Hosting contributors are highly knowledgeable individuals who create relevant content on new trends and troubleshooting techniques to help you achieve your online goals!

More Articles by InMotion Hosting

Was this article helpful? Join the conversation!