How to Use:
Step 1: Install Prerequisites
- All Platforms:
- Ensure you have Git, Go, Node.js (v10+), and npm installed on your system.
- Windows:
- Install MinGW-w64 via Chocolatey.
- Install Git for Windows and use the git-bash terminal shell.
- Mac:
- Install Xcode (v12+).
- Install the Xcode Command Line Tools via
xcode-select --install
.
- Linux:
- Run the following commands to install necessary dependencies:
arduino
sudo apt-get install libgtk-3-dev
sudo apt-get install libwebkit2gtk-4.0-dev
sudo apt-get install autoconf dh-autoreconf
Step 2: Fork the Project Repositories
Fork both the Focalboard GitHub repository and Mattermost GitHub repository. Clone both repositories locally in sibling directories.
Step 3: Build via the Terminal
- To build the server, run the following commands:
- To run the server, execute:
bash
./bin/focalboard-server
- Access your Focalboard server by navigating your browser to
http://localhost:8000
.
Step 4: Build and Run Standalone Desktop Apps
- Follow platform-specific instructions for building standalone apps:
- Windows:
- Open a git-bash prompt.
- Run
make prebuild
and then make win-wpf-app
.
- Mac:
- Run
make prebuild
and then make mac-app
.
- Linux:
- Install webgtk dependencies.
- Run
make prebuild
and then make linux-app
.
Step 5: Docker
- To run locally using the official image:
arduino
docker run -it -p 80:8000 mattermost/focalboard
- To build for your current architecture:
docker build -f docker/Dockerfile .
- For custom architecture (experimental):
bash
docker build -f docker/Dockerfile --platform linux/arm64 .
Step 6: Set up VS Code
- Open a VS Code terminal window in the project folder.
- Run
make prebuild
to install packages.
- Run
cd webapp && npm run watchdev
to automatically rebuild the web app.
- Install the Go and ESLint VS Code extensions (if not already installed).
- Launch the server using platform-specific key combinations.
Step 7: Rebuild Translations
- Run
npm run i18n-extract
in webapp
to rebuild translations.
Step 8: Unit Tests
- Run
make ci
to execute server unit tests, ESLint, and web app unit tests.
Step 9: Staying Informed
- Refer to the CHANGELOG for updates.
- Join GitHub Discussions, file bug reports, or join the Focalboard community channel for support and discussions.
By following these steps, you can effectively set up and utilize Focalboard for project management and collaboration within your technical teams.