Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Go to file
Tobias Oetiker d586c9351e
make sure users.props contains a hash! (#4029)
* make sure users.props contains a hash!

Partial fix for #4018. This does NOT address the 'dirty' column mentioned in this issue!

* Update server/services/store/sqlstore/migrations/000027_migrate_user_props_to_preferences.up.sql

* Just make sure that props is an object

* add newline back in

* Update 000027_migrate_user_props_to_preferences.up.sql

* Also added the check for sytandalone version query for POstgres

* added explicit cast to JSONB

Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
2022-10-19 13:54:24 +05:30
.github Updated CodeQL to latest version 2022-10-18 16:52:00 +05:30
.vscode Add readme for Mac and Win apps (#2757) 2022-04-12 09:20:36 -07:00
build Modify go.work file to include multi-product architecture repositories by default (#3516) 2022-08-03 12:28:07 +03:00
docker Modify go.work file to include multi-product architecture repositories by default (#3516) 2022-08-03 12:28:07 +03:00
docker-testing Test all supported databases in CI (#2000) 2021-12-17 12:30:47 -05:00
docs Minor updates to the contributor's guide (#2526) 2022-03-11 12:20:59 -08:00
experiments/webext update webapp dependencies (#3317) 2022-07-06 10:42:50 -06:00
import fix trello import 2022-03-31 22:55:08 -04:00
linux Update linux gomod (#3911) 2022-10-03 16:26:40 +02:00
mac Update Boards version to 7.3 (#3382) 2022-07-18 12:05:59 -06:00
mattermost-plugin set correct plugin id when in product mode (#4033) 2022-10-18 14:45:17 -04:00
noticegen [feat] Notice.txt generation configuration 2022-07-19 09:20:39 +03:00
server make sure users.props contains a hash! (#4029) 2022-10-19 13:54:24 +05:30
webapp [GH-3947]: Close confirmation dialog box on delete (#4031) 2022-10-18 19:26:14 +05:30
website Update website/site/content/guide/admin/_index.md 2022-08-11 17:25:18 +02:00
win-wpf update to version 7.2.0 2022-05-11 17:25:46 -06:00
.dockerignore Modify go.work file to include multi-product architecture repositories by default (#3516) 2022-08-03 12:28:07 +03:00
.editorconfig Adding initial coding style checking 2020-10-15 01:02:41 +02:00
.gitattributes Git attributes for ignoring website and swagger docs in linguist added. (#3172) 2022-06-12 09:18:44 -07:00
.gitignore Multi product architecture (#3381) 2022-07-18 13:21:57 -04:00
.gitlab-ci.yml Updated go version (#3189) 2022-06-06 10:18:21 +02:00
.gitpod.yml Create .gitpod.yml (#3010) 2022-05-03 13:46:04 -04:00
app-config.json Fix indentation 2021-02-10 10:13:04 -08:00
CHANGELOG.md Update CHANGELOG.md for v0.15 2022-03-04 10:21:04 -05:00
config.json Fix configuration for prometheus address (#2763) 2022-04-12 17:43:29 -04:00
CONTRIBUTING.md Minor fixes to Focalboard docs (#2665) 2022-03-29 18:58:33 +02:00
Dockerfile.build Updated go version (#3189) 2022-06-06 10:18:21 +02:00
LICENSE.txt License product name 2021-01-26 13:55:35 -08:00
Makefile MM-46725 Add build-product target to compile the Boards product (#4016) 2022-10-13 16:56:59 -04:00
modd-servertest.conf Permissions feature branch (#2578) 2022-03-22 08:24:34 -06:00
modd-watchplugin.conf Remove indir directive as it's causing problems in OSX systems (#1328) 2021-09-24 21:01:05 +02:00
modd.conf Permissions feature branch (#2578) 2022-03-22 08:24:34 -06:00
NOTICE.txt @mention support (#1147) 2021-09-13 15:36:36 -04:00
pull_request_template.md Update pull_request_template.md (#3487) 2022-07-29 22:14:52 +02:00
README.md update: instructions for prebuild for dev setup (#3245) 2022-06-24 13:40:57 -07:00
responsible_disclosure_policy.md Update responsibile_disclosure_policy.md (#1383) 2021-10-01 13:39:00 +02:00
SECURITY.md Add SECURITY.md (#2349) 2022-03-18 10:55:50 -07:00
server-config.json Fix configuration for prometheus address (#2763) 2022-04-12 17:43:29 -04:00

Focalboard

CI Status CodeQL Dev Release Prod Release Translation status

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

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 main editions:

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

Try Focalboard

Mattermost Boards - now available as a free cloud server

Mattermost Boards combines project management tools with messaging and collaboration for teams of all sizes. To access and use Mattermost 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 and select Boards.

Mattermost Boards is installed and enabled by default in Mattermost v6.0 and later.

See the plugin setup guide for more details.

Personal Desktop (Windows, Mac or Linux Desktop)

Personal Server

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

Contribute to Focalboard

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

Getting started

Our developer guide has detailed instructions on how to set up your development environment for the Personal Server. It also provides more information about contributing to our open source community.

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

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

Translating

Help translate Focalboard! The app is already translated into several languages. We welcome corrections and new language translations! You can add new languages or improve existing translations at Weblate.

Staying informed

Are you interested in influencing the future of the Focalboard open source project? Here's how you can get involved: