OpenProject 项目管理平台
OpenProject 是一款功能全面的开源项目管理平台,使用 Ruby on Rails 构建,支持传统瀑布式和敏捷开发两种项目管理方法。它提供了甘特图、看板、工作包、文档管理、工时追踪、会议管理等丰富功能,是 Jira 和 MS Project 的优秀开源替代方案。在搬瓦工 VPS 上通过 Docker 可以快速部署 OpenProject 社区版。
一、系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 4GB(OpenProject 较为吃资源)。
- 磁盘:至少 20GB 可用空间。
- Docker:需要预先安装 Docker 和 Docker Compose。
二、Docker 部署
mkdir -p /opt/openproject && cd /opt/openproject
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
openproject:
image: openproject/openproject:14
container_name: openproject
restart: always
ports:
- "127.0.0.1:8080:80"
environment:
- OPENPROJECT_SECRET_KEY_BASE=YourVeryLongSecretKeyBaseHere1234567890abcdef
- OPENPROJECT_HOST__NAME=project.your-domain.com
- OPENPROJECT_HTTPS=true
- OPENPROJECT_DEFAULT__LANGUAGE=zh-CN
volumes:
- op-pgdata:/var/openproject/pgdata
- op-assets:/var/openproject/assets
volumes:
op-pgdata:
op-assets:
EOF
docker compose up -d
OpenProject 的 Docker 镜像内置了 PostgreSQL 数据库和所有必要的依赖,首次启动初始化需要几分钟。
# 查看启动日志
docker compose logs -f openproject
三、Nginx 反向代理
cat > /etc/nginx/sites-available/openproject <<'EOF'
server {
listen 443 ssl http2;
server_name project.your-domain.com;
ssl_certificate /etc/letsencrypt/live/project.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/project.your-domain.com/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
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 https;
proxy_set_header X-Forwarded-Host $host;
}
}
EOF
ln -sf /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
四、首次登录
访问 https://project.your-domain.com,使用默认管理员账号登录:
- 用户名:admin
- 密码:admin
首次登录后系统会要求修改密码。随后进行以下初始化配置:
- 在"Administration -> General"中设置应用名称和语言。
- 在"Administration -> Authentication"中配置认证策略。
- 创建用户角色和权限。
五、核心功能
5.1 工作包(Work Packages)
工作包是 OpenProject 的核心概念,可以表示任务、缺陷、用户故事、史诗等多种类型。每个工作包包含标题、描述、负责人、优先级、开始和截止日期等属性。
5.2 甘特图
OpenProject 提供了功能完整的交互式甘特图,支持拖拽调整时间线、设置任务依赖关系、查看关键路径等。甘特图视图可以直接在浏览器中编辑。
5.3 敏捷看板
在项目设置中启用"Boards"模块,可以创建敏捷看板和 Scrum 面板。支持基于状态、负责人或版本的看板视图。
5.4 工时追踪
OpenProject 内置了工时记录功能,团队成员可以在每个工作包上记录花费的时间。管理员可以查看工时报告和成本分析。
六、邮件通知配置
# 在 docker-compose.yml 的 environment 中添加
- OPENPROJECT_EMAIL__DELIVERY__METHOD=smtp
- OPENPROJECT_SMTP__ADDRESS=smtp.your-domain.com
- OPENPROJECT_SMTP__PORT=587
- OPENPROJECT_SMTP__DOMAIN=your-domain.com
- OPENPROJECT_SMTP__AUTHENTICATION=login
- OPENPROJECT_SMTP__USER__NAME=noreply@your-domain.com
- OPENPROJECT_SMTP__PASSWORD=your-smtp-password
- OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO=true
- OPENPROJECT_MAIL__FROM=noreply@your-domain.com
docker compose up -d
七、数据备份
# 使用 OpenProject 内置备份工具
docker exec openproject backup
# 备份文件位于容器内 /var/openproject/backups/
docker cp openproject:/var/openproject/backups/ /opt/backups/openproject/
# 定时备份
crontab -e
0 3 * * * docker exec openproject backup 2>&1 && docker cp openproject:/var/openproject/backups/ /opt/backups/openproject/ 2>&1
八、常见问题
内存不足
OpenProject 建议至少 4GB 内存。如果内存不足,可以配置 swap 空间:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
上传文件大小限制
在 Nginx 配置中增加 client_max_body_size 的值。
总结
OpenProject 是功能最全面的开源项目管理平台之一,适合需要完整项目管理功能的团队。由于资源占用较大,建议选择 4GB 以上内存的搬瓦工 VPS 方案。选购请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 折扣。如果需要更轻量的方案,可以参考 Kanboard 教程 或 Redmine 教程。