能直接跑起来,但必须选对方式——别编译源码、别装npm包、别手动配PostgreSQL;Linux上最稳路径是本地桌面版一键运行或Docker容器部署,其他方式易卡权限、丢数据或跨域失败。

用预编译二进制包跑桌面版(个人快速体验)
适合刚想试试看板功能、不涉及多人协作的场景,数据全存在本地,零配置。
- 去
https://github.com/mattermost/focalboard/releases下载最新focalboard-linux-x64.tar.gz(注意核对你的 CPU 架构,ARM 机选-arm64) - 解压后直接执行
./focalboard-app,它会自动监听localhost:3000并打开浏览器 - 不用 sudo、不改系统配置、不碰
/usr/local/bin—— 想删就删整个文件夹,不留痕迹 - 常见错误:
error while loading shared libraries: libX11.so.6→ 缺少基础 GUI 库,sudo apt install libx11-6 libxkbfile1 libnss3(Debian/Ubuntu)或sudo yum install libX11 libXkbfile nss(CentOS/RHEL)
用 docker run 临时试跑(验证环境是否 OK)
只用来确认端口、Docker、网络通不通,不适合存数据——容器一删,所有看板全丢。
- 执行
docker run -p 8000:8000 mattermost/focalboard,等几秒后访问http://localhost:8000 - 如果连不上,先看
docker ps有没有Up状态的容器;没有就说明启动失败,立刻跑docker logs $(docker ps -lq) - 典型报错
mkdir /data: permission denied→ 容器没权限写内部/data,加--user $(id -u):$(id -g)或换用docker-compose.yml(见下条) - 别在
docker run里硬塞-v挂载,容易因目录权限不对直接退出,不如一步到位用 compose
用 docker-compose.yml 做生产级部署(团队长期用)
这才是真正能落地的方式:数据落盘、重启自启、时区/协议可配,且避免手工拼命令出错。
- 创建目录并设权:
mkdir focalboard_data && chmod 755 focalboard_data(不能是 root 创建后 chown,得当前用户有写权) -
docker-compose.yml必须含这三项:volumes挂./focalboard_data:/data、environment设SITE_URL(和你实际访问地址一致,比如https://board.example.com)、restart: unless-stopped - 如果走 Nginx 反代,
SITE_URL必须填 HTTPS 地址,否则登录后前端发请求会因协议不匹配被浏览器拦截 - 启动后查日志用
docker-compose logs -f focalboard,比docker logs更准——它认 service 名而非容器 ID
为什么坚决不推荐源码编译或 npm 安装
不是不能,而是踩坑成本远高于收益。官方早就不维护 Node.js 启动方式了,npm install -g focalboard 装出来的是旧版前端调试包,根本不是服务端程序。
- Go 编译要装特定版本的 Go(1.21+),还要拉一堆依赖,
make build失败率高,错误信息全是模块路径问题 - SQLite 数据库文件默认在容器内,不挂卷就等于没持久化;手配 PostgreSQL 则要额外建库、授权、调
config.json,而 Docker 镜像根本不读这个文件 - 所有文档里提到的
focalboard-server二进制,都来自 release 页面的预编译包,不是go build出来的产物
SITE_URL 与访问地址的一致性、或者误信 npm 安装能当服务端用。


















