项目管理与问题跟踪看板Scrumboy
简介
什么是 Scrumboy ?
Scrumboy是一个开源的自托管项目管理与看板解决方案,支持即时分享和可定制的看板、实时协作、自动化、API访问以及MCP兼容的AI助手客户端支持。它可以帮助团队和个人通过看板方式管理任务和项目,无需依赖第三方SaaS服务,保护数据隐私。
主要特点
- 看板管理:支持自定义工作流程,每个项目可以创建任意组合的工作列,包括用户定义的「完成」列
- 实时协作:基于
SSE的看板支持多用户操作的即时更新 - API 与 MCP 集成:支持
API访问令牌和MCP(Model Context Protocol)JSON-RPC端点,便于AI代理和自动化脚本调用 - Webhooks:支持注册
Webhook URL,当指定事件发生时自动POST JSON到目标服务器 - 标签系统:用户可以继承和自定义标签颜色
- 高级筛选:支持基于文本或标签搜索待办事项
- Sprint 支持:可创建、激活、关闭
Sprint,支持看板Sprint筛选 - 认证与 2FA:支持本地密码认证和
TOTP两步验证(需要设置加密密钥) - 审计追踪:记录所有操作到审计日志表
- 备份导出:支持导出/导入
JSON,可选择合并或替换模式 - PWA 支持:支持安装为独立
Web应用,提供更好的移动端体验和后台推送通知 - 匿名看板:支持创建可分享的匿名看板,无需登录即可访问和编辑
- 开源免费:基于
AGPL v3协议开源,可免费使用和修改
应用场景
- 个人任务管理:个人用户可以使用
Scrumboy管理日常待办事项和项目进度 - 小团队协作:小型团队可以通过看板方式分配任务、追踪进度,实现实时协作
- 隐私敏感场景:对数据隐私有要求的用户可以自托管,确保数据完全可控
- 开发者集成:开发者可以通过
API和MCP集成自动化工作流,或接入AI助手辅助项目管理

Scrumboy 是一个轻量级但功能强大的自托管项目管理工具,结合了轻量看板的简洁性和结构化系统的功能,适合追求数据隐私和自托管的团队和个人使用。
安装
在群晖上以 Docker 方式安装。
由于镜像托管在
ghcr.io,群晖 Docker 套件无法直接搜索,需要通过SSH拉取镜像再进行部署。

镜像拉取
首先通过 SSH 登录群晖,拉取镜像:
1 | # 登录群晖后,拉取镜像 |
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | docker run -d \ |
环境变量
完整的环境变量说明可以参考:https://github.com/markrai/scrumboy#config
| 变量 | 默认值(来自代码) |
|---|---|
| BIND_ADDR | :8080 |
| DATA_DIR | ./data |
| SQLITE_PATH | (空;随后使用 $DATA_DIR/app.db) |
| SQLITE_BUSY_TIMEOUT_MS | 30000 |
| SQLITE_JOURNAL_MODE | WAL |
| SQLITE_SYNCHRONOUS | FULL |
| MAX_REQUEST_BODY_BYTES | 1048576 (1 MiB) |
| SCRUMBOY_MODE | full(或 anonymous) |
| SCRUMBOY_ENCRYPTION_KEY | (空)—— 2FA 必需。Base64 编码的 32 字节密钥。可使用 openssl rand -base64 32 生成。若未设置,2FA 配置将返回 503。 |
| SCRUMBOY_TLS_CERT | ./cert.pem —— HTTPS 使用的 TLS 证书 |
| SCRUMBOY_TLS_KEY | ./key.pem —— HTTPS 使用的 TLS 私钥 |
| SCRUMBOY_INTRANET_IP | 192.168.1.250 —— 用于记录内网访问的 LAN IP |
| SCRUMBOY_VAPID_PUBLIC_KEY | (空)—— Web Push。VAPID 公钥(URL-safe base64)。需与私钥同时设置,用于 PWA 后台任务通知以及 SPA 登录后自动订阅。 |
| SCRUMBOY_VAPID_PRIVATE_KEY | (空)—— VAPID 私钥(URL-safe base64)。 |
| SCRUMBOY_VAPID_SUBSCRIBER | (空)—— VAPID JWT sub 的联系方式(不绑定 IdP)。请使用纯邮箱(例如 ops@example.com),服务器会自动加上 mailto: 前缀。也可显式设置完整的 mailto:... 或 https://... URL。若未设置,将使用内置默认值。 |
| SCRUMBOY_DEBUG_PUSH | (空)—— 设置为 1 可在服务器端记录推送发送/清理日志。 |
- Full 模式(默认):第一个访问的用户会自动成为管理员(
Bootstrap用户),系统会提示设置密码 - Anonymous 模式:如果设置
SCRUMBOY_MODE=anonymous,则无需登录,面向公共分享场景 - 可选配置:如需使用
2FA功能,需要设置SCRUMBOY_ENCRYPTION_KEY环境变量,可使用openssl rand -base64 32生成
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
执行以下命令启动:
1 | # 新建文件夹 scrumboy 和子目录 |

运行
在浏览器中访问 http://<群晖IP>:8326 即可进入注册界面
Name:姓名,例如:laosuEmail:邮件,例如:wbsu2003@gmail.comPassword:密码,例如:123456

自动进入主界面

待办事项
填入项目名称,点 Create,在创建项目之前,还需要先配置泳道
Backlog:待办事项Not Started:未开始In Progress:进行中Testing:测试Done:完成

老苏没有增加,使用的是默认的泳道

点右上角的 New Todo 可以开始添加待办事项
【注意】:
Tags不能使用中文,保存时会报错

添加成功之后

最后上一张官方的效果图

MCP
第一步、获取 scrumboy_session 值
在浏览器登录后,可以从浏览器开发者工具(Application 面板)复制 scrumboy_session 的值

或者 (Network 面板)复制 Cookie 中 scrumboy_session 值

第二步、获取 Token 值
1 | # 生成 TOKEN |

第三步、调用 MCP 接口,例如获取项目列表
1 | # 获取项目 |

更多使用方法,请参考官方文档: https://github.com/markrai/scrumboy/blob/main/docs/mcp.md
注意事项
- 首次用户权限:
Full模式下,第一个访问并创建账号的用户自动成为Owner角色,拥有最高权限 - 数据持久化:数据存储在
./data目录下的app.db文件中,升级容器前建议备份数据 - 端口冲突:如果
8326端口已被占用,请修改docker-compose.yml中的本地端口 - 安全建议:在生产环境建议配置
HTTPS(需要设置SCRUMBOY_TLS_CERT和SCRUMBOY_TLS_KEY),或通过反向代理提供 HTTPS 访问 - 加密密钥:如果已有数据库包含启用
2FA的用户,启动时不设置SCRUMBOY_ENCRYPTION_KEY会导致启动失败 - 匿名模式:如果使用匿名模式创建的分享链接,任何知道链接的人都可以查看和编辑看板内容
参考文档
Scrumboy: Self-hosted project management & Kanban solution
地址:https://github.com/markrai/scrumboyScrumboy 官方演示网站
地址:https://scrumboy.comScrumboy Docker 镜像
地址:https://ghcr.io/markrai/scrumboy