/focalboard

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

Primary LanguageTypeScriptOtherNOASSERTION

Focalboard

CI Status CodeQL Dev Release Prod Release

Like what you see? 👀 Give us a GitHub Star! ⭐

Focalboard

Focalboard is an open source, self-hosted project management tool that's an alternative to Trello, Notion, and Asana.

It helps define, organize, track and manage work across individuals and teams. Focalboard comes in two main editions:

  • Personal Desktop: A stand-alone single-user Mac, Windows, or Linux desktop app for your todos and personal projects.

  • Mattermost Boards: A self-hosted or cloud server for your team to plan and collaborate.

Focalboard can also be installed as a standalone personal server for development and personal use.

Try out Focalboard

Focalboard Personal Desktop (Windows, Mac or Linux Desktop)

Try out Focalboard Personal Desktop by going to the Windows Store or the Apple AppStore, searching for Focalboard and installing to run the compiled version locally.

If you're running a Linux Desktop, download the latest focalboard-linux.tar.gz release, unpack the .tar.gz archive, and open focalboard-app from the focalboard-app folder.

Note: For Windows and Mac users, while we don't yet offer Focalboard Personal Desktop outside of Store-based installs, it is in consideration for the future (please upvote the ticket if you're interested in this addition).

Mattermost Boards

Mattermost Boards combines project management tools with messaging and collaboration for teams of all sizes. To access and use Boards, install or upgrade to Mattermost v6.0 or later as a self-hosted server or Cloud server. After logging into Mattermost, select the menu in the top left corner of Mattermost and choose Boards.

See the setup guide for more details.

Focalboard Personal Server (Ubuntu)

You can download and run the compiled Focalboard Personal Server by following our latest install guide.

Download the latest server release from GitHub releases

Building the server

Most development can be done on the Personal Server edition. Please refer to the Developer's Tips & Tricks for more detailed steps. Here's a summary:

First, install basic dependencies:

  • Go 1.15+
  • Node 10+ and npm
  • Mingw64 on Windows
make prebuild
make

Running and testing the server

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

Server settings are in config.json (or the path specified with --config).

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
    • make win-wpf-app
    • run cd win-wpf/msix && focalboard.exe
    • Requires: Windows 10
  • Docker:
    • To run it locally from Offical Image
    • docker run -it -p 80:8000 mattermost/focalboard
    • To Build it for your Current Architecture
    • docker build -f docker/Dockerfile .
    • To Build it for a custom Architecture (Experimental)
    • docker build -f docker/Dockerfile --platform linux/arm64 .

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 similar 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

Stay informed on progress

Share your feedback

File bugs, suggest features, join our forum, learn more here!

Contributing

Contribute code, bug reports, and ideas to the future of the Focalboard project. We welcome your input! Please see CONTRIBUTING.md for details on how to get involved.