Kanboard 看板项目管理部署
Kanboard 是一款轻量级的开源看板项目管理工具,使用 PHP 编写,专注于看板(Kanban)方法论。它界面简洁、功能实用,支持拖拽操作、泳道管理、自动化操作和丰富的插件系统。Kanboard 默认使用 SQLite 数据库,资源占用极低,非常适合在搬瓦工 VPS 上部署用于个人或小型团队的项目管理。
一、系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:512MB 即可运行。
- Docker:推荐使用 Docker 部署。
二、Docker 部署
mkdir -p /opt/kanboard && cd /opt/kanboard
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
kanboard:
image: kanboard/kanboard:latest
container_name: kanboard
restart: always
ports:
- "127.0.0.1:8080:80"
volumes:
- kanboard-data:/var/www/app/data
- kanboard-plugins:/var/www/app/plugins
- kanboard-ssl:/etc/nginx/ssl
environment:
- DATABASE_URL=sqlite:///var/www/app/data/db.sqlite
volumes:
kanboard-data:
kanboard-plugins:
kanboard-ssl:
EOF
docker compose up -d
三、使用 MySQL 数据库(可选)
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
kanboard:
image: kanboard/kanboard:latest
container_name: kanboard
restart: always
ports:
- "127.0.0.1:8080:80"
volumes:
- kanboard-data:/var/www/app/data
- kanboard-plugins:/var/www/app/plugins
environment:
- DATABASE_URL=mysql://kanboard:KanboardPass123@db/kanboard
depends_on:
- db
db:
image: mysql:8.0
container_name: kanboard-db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=RootPass123
- MYSQL_DATABASE=kanboard
- MYSQL_USER=kanboard
- MYSQL_PASSWORD=KanboardPass123
volumes:
- kanboard-db:/var/lib/mysql
volumes:
kanboard-data:
kanboard-plugins:
kanboard-db:
EOF
docker compose up -d
四、Nginx 反向代理
cat > /etc/nginx/sites-available/kanboard <<'EOF'
server {
listen 443 ssl http2;
server_name kanboard.your-domain.com;
ssl_certificate /etc/letsencrypt/live/kanboard.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/kanboard.your-domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -sf /etc/nginx/sites-available/kanboard /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
五、首次登录和配置
在浏览器中访问你的域名,使用默认管理员账号登录:
- 用户名:admin
- 密码:admin
重要:首次登录后请立即修改管理员密码。进入"Settings"修改以下配置:
- 应用语言设置为中文。
- 修改应用 URL 为你的域名。
- 配置邮件通知(可选)。
六、项目管理
6.1 创建项目
在主界面点击"New Project"创建项目。Kanboard 支持两种项目类型:
- 私有项目:只有项目成员可以看到。
- 共享项目:所有用户都可以看到。
6.2 配置看板列
进入项目设置,可以自定义看板列(默认为 Backlog、Ready、Work in progress、Done)。每列可以设置任务数量限制(WIP Limit)以控制在制品数量。
6.3 泳道管理
泳道(Swimlane)用于在看板中创建水平分类。例如按优先级、功能模块或团队划分泳道,使任务组织更加清晰。
七、自动化操作
Kanboard 支持基于事件的自动化操作,在项目设置的"Automatic Actions"中配置:
- 任务移动到某列时自动分配给指定用户。
- 任务创建时自动设置颜色标签。
- 任务关闭时自动发送邮件通知。
- 任务移动到"Done"列时自动关闭。
八、插件安装
Kanboard 有丰富的插件生态。通过管理界面安装或手动下载:
# 手动安装插件示例(日历视图插件)
cd /opt/kanboard
docker exec kanboard sh -c "cd /var/www/app/plugins && \
wget https://github.com/kanboard/plugin-calendar/archive/master.zip && \
unzip master.zip && rm master.zip"
docker restart kanboard
九、API 使用
Kanboard 提供了完整的 JSON-RPC API:
# 获取所有项目
curl -X POST "https://kanboard.your-domain.com/jsonrpc.php" \
-u "admin:your-password" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"getAllProjects","id":1}'
# 创建任务
curl -X POST "https://kanboard.your-domain.com/jsonrpc.php" \
-u "admin:your-password" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"createTask","id":2,"params":{"title":"New Task","project_id":1}}'
十、数据备份
# SQLite 备份
docker cp kanboard:/var/www/app/data/db.sqlite /opt/backups/kanboard_$(date +%Y%m%d).sqlite
# MySQL 备份
docker exec kanboard-db mysqldump -ukanboard -pKanboardPass123 kanboard > /opt/backups/kanboard_$(date +%Y%m%d).sql
总结
Kanboard 是一款简洁高效的看板项目管理工具,资源占用极低,非常适合在搬瓦工 VPS 上部署。它遵循看板方法论,帮助你可视化工作流程、限制在制品数量、提升工作效率。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 折扣。更多项目管理工具:OpenProject 教程、Redmine 教程。