Awesome
[!WARNING] This repository is currently not maintained. If you're interested in becoming a maintainer please let us know here.
This repository only contains standalone Focalboard. If you're looking for the Mattermost plugin please see mattermost/mattermost-plugin-boards.
Focalboard
Focalboard is an open source, multilingual, 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 editions:
-
Personal Desktop: A standalone, single-user macOS, Windows, or Linux desktop app for your own todos and personal projects.
-
Personal Server: A standalone, multi-user server for development and personal use.
Try Focalboard
Personal Desktop (Windows, Mac or Linux Desktop)
- Windows: Download from the Windows App Store or download
focalboard-win.zip
from the latest release, unpack, and runFocalboard.exe
. - Mac: Download from the Mac App Store.
- Linux Desktop: Download
focalboard-linux.tar.gz
from the latest release, unpack, and openfocalboard-app
.
Personal Server
Ubuntu: You can download and run the compiled Focalboard Personal Server on Ubuntu by following our latest install guide.
API Docs
Boards API docs can be found over at https://htmlpreview.github.io/?https://github.com/mattermost/focalboard/blob/main/server/swagger/docs/html/index.html
Getting started
Our developer guide has detailed instructions on how to set up your development environment for the Personal Server. You can also join the ~Focalboard community channel to connect with other developers.
Create an .env
file in the focalboard directory that contains:
EXCLUDE_ENTERPRISE="1"
To build the server:
make prebuild
make
To run the server:
./bin/focalboard-server
Then navigate your browser to http://localhost:8000
to access your Focalboard server. The port is configured in config.json
.
Once the server is running, you can rebuild just the web app via make webapp
in a separate terminal window. Reload your browser to see the changes.
Building and running standalone desktop apps
You can build standalone apps that package the server to run locally against SQLite:
- Windows:
- Requires Windows 10, Windows 10 SDK 10.0.19041.0, and .NET 4.8 developer pack
- Open a
git-bash
prompt. - Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
make win-wpf-app
- Run
cd win-wpf/msix && focalboard.exe
- Mac:
- Requires macOS 11.3+ and Xcode 13.2.1+
- Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
make mac-app
- Run
open mac/dist/Focalboard.app
- Linux:
- Tested on Ubuntu 18.04
- Install
webgtk
dependencies- Run
sudo apt-get install libgtk-3-dev
- Run
sudo apt-get install libwebkit2gtk-4.0-dev
- Run
- Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
make linux-app
- Uncompress
linux/dist/focalboard-linux.tar.gz
to a directory of your choice - Run
focalboard-app
from the directory you have chosen
- 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 .
- To run it locally from offical image:
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 testing
Before checking in commits, run make ci
, which is similar to the .gitlab-ci.yml
workflow and includes:
- Server unit tests:
make server-test
- Web app ESLint:
cd webapp; npm run check
- Web app unit tests:
cd webapp; npm run test
- Web app UI tests:
cd webapp; npm run cypress:ci
Staying informed
- Changes: See the CHANGELOG for the latest updates
- Bug Reports: File a bug report
- Chat: Join the ~Focalboard community channel