Plane 项目管理工具搭建教程
Plane 是一款开源的项目管理和问题追踪工具,被视为 Jira 和 Linear 的自托管替代方案。它提供现代化的界面设计、灵活的问题管理、多种视图模式和迭代规划功能,适合软件开发团队和项目管理场景。本教程将在搬瓦工 VPS 上通过 Docker 部署 Plane。
一、Plane 核心功能
- 问题管理:支持创建、分配、标签、优先级、截止日期等完整的问题管理流程。
- 多种视图:看板视图、列表视图、电子表格视图和甘特图视图,灵活切换。
- 迭代管理:支持 Sprint 迭代规划,按周期组织和追踪任务进度。
- 模块划分:将问题按模块分组,适合大型项目的功能模块管理。
- 文档页面:内置文档编辑器,支持项目文档和会议记录。
- 自定义工作流:可以自定义问题状态和工作流程,适配不同团队的工作方式。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 2GB RAM,推荐 4GB。
- 磁盘:至少 15GB 可用空间。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
选购搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 享受 6.77% 折扣。
三、使用官方脚本部署
Plane 提供了官方的一键部署脚本,是最推荐的部署方式:
3.1 下载部署脚本
mkdir -p /opt/plane && cd /opt/plane
curl -fsSL https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh -o install.sh
chmod +x install.sh
3.2 运行安装脚本
./install.sh
脚本会交互式地询问配置信息,包括域名、端口和邮件设置等。按提示输入即可完成配置。
3.3 手动 Docker Compose 部署
如果你更倾向于手动配置,可以创建环境变量文件和 Compose 配置:
cat > .env <<'EOF'
WEB_URL=http://your-domain.com
CORS_ALLOWED_ORIGINS=http://your-domain.com
SECRET_KEY=your_secret_key_here
DATABASE_URL=postgresql://plane:your_db_password@db:5432/plane
REDIS_URL=redis://redis:6379
AWS_S3_ENDPOINT_URL=http://minio:9000
AWS_ACCESS_KEY_ID=plane_minio
AWS_SECRET_ACCESS_KEY=your_minio_password
AWS_S3_BUCKET_NAME=plane-uploads
FILE_SIZE_LIMIT=5242880
EOF
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
web:
image: makeplane/plane-frontend:stable
container_name: plane-web
restart: always
ports:
- "3000:3000"
depends_on:
- api
api:
image: makeplane/plane-backend:stable
container_name: plane-api
restart: always
env_file:
- .env
depends_on:
- db
- redis
command: ./bin/docker-entrypoint-api.sh
worker:
image: makeplane/plane-backend:stable
container_name: plane-worker
restart: always
env_file:
- .env
depends_on:
- api
- redis
command: ./bin/docker-entrypoint-worker.sh
beat-worker:
image: makeplane/plane-backend:stable
container_name: plane-beat
restart: always
env_file:
- .env
depends_on:
- api
- redis
command: ./bin/docker-entrypoint-beat.sh
db:
image: postgres:15-alpine
container_name: plane-db
restart: always
environment:
POSTGRES_USER: plane
POSTGRES_PASSWORD: your_db_password
POSTGRES_DB: plane
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
container_name: plane-redis
restart: always
volumes:
- redis_data:/data
minio:
image: minio/minio:latest
container_name: plane-minio
restart: always
environment:
MINIO_ROOT_USER: plane_minio
MINIO_ROOT_PASSWORD: your_minio_password
volumes:
- minio_data:/export
command: server /export --console-address ":9090"
volumes:
postgres_data:
redis_data:
minio_data:
EOF
3.4 启动服务
docker compose up -d
docker compose logs -f
四、Nginx 反向代理
cat > /etc/nginx/sites-available/plane <<'EOF'
server {
listen 80;
server_name plane.example.com;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:3000;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
ln -s /etc/nginx/sites-available/plane /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d plane.example.com
五、Plane 使用指南
5.1 创建项目
注册管理员账户后创建工作区,然后在工作区中新建项目。每个项目可以设置唯一标识符(用于问题编号前缀)、描述和封面图片。邀请团队成员并分配 Admin、Member 或 Guest 角色。
5.2 问题追踪
在项目中创建问题(Issue),设置标题、描述、状态、优先级、标签、截止日期和负责人。问题支持富文本描述、子问题、关联问题和附件。通过看板视图可以直观地拖拽问题在不同状态列之间移动。
5.3 迭代规划
使用 Cycles(迭代周期)功能规划 Sprint。创建迭代时设置起止日期,然后将问题添加到迭代中。迭代面板提供燃尽图和进度统计,帮助团队追踪迭代进展。
5.4 视图与过滤
Plane 支持保存自定义视图,包括特定的筛选条件、分组方式和排序规则。你可以创建如"我的待办"、"本周到期"、"高优先级问题"等常用视图,方便快速查看关注的任务。
六、备份与升级
# 备份数据库
docker exec plane-db pg_dump -U plane plane > /opt/plane/backup_$(date +%Y%m%d).sql
# 升级(使用官方脚本)
cd /opt/plane
./install.sh --upgrade
# 或手动升级
docker compose pull
docker compose down
docker compose up -d
总结
Plane 是一款界面美观、功能完善的开源项目管理工具,特别适合软件开发团队。如果你需要更轻量的看板工具,可以参考 WeKan 或 Focalboard。需要敏捷管理功能的团队可以看看 Taiga。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。