Focalboard

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.


Note

For this guide you should be familiar with the basic concepts of

Prerequisites

Your website domain needs to be set up:

[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$

It’s recommended to use a PostgreSQL database. Install and configure PostgreSQL server as described in the PostgreSQL guide.

Installation

Download the latest release to your home directory and extract the application.

[isabell@stardust ~]$ wget https://github.com/mattermost/focalboard/releases/download/v7.1.0/focalboard-server-linux-amd64.tar.gz
[isabell@stardust ~]$ tar --extract --gzip --file focalboard-server-linux-amd64.tar.gz
[isabell@stardust ~]$ rm focalboard-server-linux-amd64.tar.gz
[isabell@stardust ~]$

Configuration

You need to modify ~/focalboard/config.json.

Warning

Replace <db_user>, <db_password> and <db_name> with your values.

"dbtype": "postgres",
"dbconfig": "postgres://<db_user>:<db_password>@localhost/<db_name>?sslmode=disable&connect_timeout=10",

For example:

"dbtype": "postgres",
"dbconfig": "postgres://isabell_focalboard:sup3r-s3cr3t@localhost/focalboard?sslmode=disable&connect_timeout=10",

Setup daemon

Create ~/etc/services.d/focalboard.ini with the following content:

[program:focalboard]
directory=%(ENV_HOME)s/focalboard
command=%(ENV_HOME)s/focalboard/bin/focalboard-server
autostart=yes
autorestart=yes

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$

Configure web server

Note

Focalboard is running on port 8000.

To make the application accessible from the outside, configure a web backend:

[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$

Configure application

Open a browser and point it to the domain and you should be redirected to the login screen. Click the link to register a new user instead, and complete the registration.

The first user registration will always be permitted, but subsequent registrations will require an invite link which includes a code. You can invite additional users by clicking on your username in the top left, then selecting “Invite users”.

More information can be found in the official documentation

Updates

Note

Check the git repository regularly to stay informed about changes.

To update the application, stop the daemon and repeat the installation step.


Tested with Focalboard 7.1.0 and Uberspace 7.12.3

Written by: Thomas Johnson <https://johnson.tj/>