Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Go to file
2021-02-02 13:00:22 -08:00
.github/workflows Rename focalboard-server binary 2021-01-28 14:23:52 -08:00
.vscode
build
linux Rename focalboard-server binary 2021-01-28 14:23:52 -08:00
mac Rename focalboard-server binary 2021-01-28 14:23:52 -08:00
server websocket private functions 2021-02-02 13:00:22 -08:00
webapp Websocket auth 2021-02-02 12:06:28 -08:00
website Website: link text 2021-02-01 12:05:14 -08:00
win Rename focalboard-server binary 2021-01-28 14:23:52 -08:00
.editorconfig
.gitignore Archiver file extension 2021-01-26 11:23:20 -08:00
app-config.json localOnly config flag 2021-01-26 15:29:13 -08:00
config.json Rename admin local socket 2021-02-01 10:31:06 -08:00
LICENSE.txt License product name 2021-01-26 13:55:35 -08:00
Makefile Rename focalboard-server binary 2021-01-28 14:23:52 -08:00
NOTICE.txt Add webapp/NOTICE.txt 2021-01-27 12:03:39 -08:00
README.md Update readme: windows build 2021-01-29 17:07:45 -08:00
server-config.json Rename admin local socket 2021-02-01 10:31:06 -08:00

Focalboard

Focalboard

Focalboard is an open source project management app for individuals and teams. It comes in two editions:

  • Personal Desktop: A stand-alone desktop app for your todos and personal projects
  • Personal Server: A self-hosted server for your team to collaborate

The same server binary powers both editions.

Building the server

First, install dependencies:

  • Go 1.15.2
make prebuild
make

The server defaults to using SQLite as the store, but can be configured to use Postgres:

  • In config.json
    • Set dbtype to "postgres"
    • Set dbconfig to the connection string (which you can copy from dbconfig_postgres)
  • Create a new "focalboard" database with psql
  • Restart the server

Running and testing the server

To start the server, run ./bin/focalboard-server

Server settings are in config.json.

Open a browser to http://localhost:8000 to start.

Building and running standalone desktop apps

You can build standalone apps that package the server to run locally against SQLite:

  • Mac:
    • make mac-app
    • run mac/dist/Focalboard.app
    • Requires: macOS Catalina (10.15)+, Xcode 12.
  • Linux:
    • Install webgtk dependencies
      • sudo apt-get install libgtk-3-dev
      • sudo apt-get install libwebkit2gtk-4.0-dev
    • make linux-app
    • run linux/dist/focalboard-app
    • Tested with: Ubuntu 18.04
  • Windows:
    • Open a git-bash prompt
    • Install win-node-env npm install -g win-node-env
    • make win-app
    • run win/dist/focalboard.exe
    • Requires: Windows 10

Cross-compilation currently isn't fully supported, so please build on the appropriate platform. Refer to the GitHub Actions workflows (build-mac.yml, build-win.yml, build-ubuntu.yml) for the detailed list of steps on each platform.

Unit tests

Before checking-in commits, run: make ci, which is simlar to the ci.yml workflow and includes:

  • Server unit tests: make server-test
  • Webapp eslint: cd webapp; npm run check
  • Webapp unit tests: cd webapp; npm run test
  • Webapp UI tests: cd webapp; npm run cypress:ci