Redmine 问题追踪系统搭建

Redmine 是一款历史悠久的开源项目管理和问题追踪系统,使用 Ruby on Rails 编写。它提供了灵活的问题追踪、多项目管理、甘特图、日历、Wiki、论坛和时间跟踪等功能。Redmine 的插件生态非常丰富,经过多年发展已经成为最成熟的开源项目管理工具之一。在搬瓦工 VPS 上通过 Docker 可以快速搭建。

一、系统要求

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 1GB,建议 2GB。
  • Docker:需要预先安装 Docker 和 Docker Compose

二、Docker Compose 部署

mkdir -p /opt/redmine && cd /opt/redmine

cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  redmine:
    image: redmine:5
    container_name: redmine
    restart: always
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      - REDMINE_DB_MYSQL=db
      - REDMINE_DB_DATABASE=redmine
      - REDMINE_DB_USERNAME=redmine
      - REDMINE_DB_PASSWORD=RedminePass123
      - REDMINE_SECRET_KEY_BASE=YourLongSecretKeyHere1234567890
    volumes:
      - redmine-data:/usr/src/redmine/files
      - redmine-plugins:/usr/src/redmine/plugins
      - redmine-themes:/usr/src/redmine/public/themes
    depends_on:
      db:
        condition: service_healthy

  db:
    image: mysql:8.0
    container_name: redmine-db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=RootPass123
      - MYSQL_DATABASE=redmine
      - MYSQL_USER=redmine
      - MYSQL_PASSWORD=RedminePass123
    volumes:
      - redmine-db:/var/lib/mysql
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  redmine-data:
  redmine-plugins:
  redmine-themes:
  redmine-db:
EOF

docker compose up -d

三、Nginx 反向代理

cat > /etc/nginx/sites-available/redmine <<'EOF'
server {
    listen 443 ssl http2;
    server_name redmine.your-domain.com;

    ssl_certificate /etc/letsencrypt/live/redmine.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/redmine.your-domain.com/privkey.pem;

    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;
    }
}
EOF

ln -sf /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

四、首次登录和配置

访问 https://redmine.your-domain.com,使用默认管理员账号登录:

  • 用户名:admin
  • 密码:admin

首次登录后必须修改密码。然后进行以下初始配置:

  • 进入"管理" -> "配置",设置默认语言为中文。
  • 配置邮件通知。
  • 创建项目和用户角色。

五、项目管理功能

5.1 问题追踪

Redmine 的问题(Issue)系统支持多种追踪器类型:

  • Bug:缺陷跟踪。
  • Feature:功能需求。
  • Support:支持请求。

每个问题包含优先级、状态、负责人、截止日期、进度等属性,支持自定义字段扩展。

5.2 自定义工作流

在"管理" -> "工作流"中,可以为每种追踪器和每个角色定义不同的状态转换规则,精确控制问题的流转过程。

5.3 甘特图和日历

Redmine 内置甘特图视图,自动根据问题的开始和截止日期生成。日历视图按月份展示各个问题的时间安排。

5.4 Wiki 和文档

每个项目都有独立的 Wiki 空间,使用 Textile 或 Markdown 语法编写文档。支持版本历史和页面链接。

六、邮件通知配置

# 在 docker-compose.yml 的 redmine 服务中添加环境变量
- REDMINE_EMAIL__DELIVERY__METHOD=smtp
- REDMINE_SMTP__ADDRESS=smtp.your-domain.com
- REDMINE_SMTP__PORT=587
- REDMINE_SMTP__DOMAIN=your-domain.com
- REDMINE_SMTP__USERNAME=noreply@your-domain.com
- REDMINE_SMTP__PASSWORD=your-smtp-password
- REDMINE_SMTP__AUTHENTICATION=login
- REDMINE_SMTP__ENABLE__STARTTLS__AUTO=true

七、REST API

Redmine 提供了完整的 REST API,需要在管理界面中启用:

# 获取项目列表
curl -H "X-Redmine-API-Key: YOUR_API_KEY" \
  "https://redmine.your-domain.com/projects.json"

# 创建问题
curl -X POST -H "X-Redmine-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"issue":{"project_id":1,"subject":"New Bug","tracker_id":1,"priority_id":2}}' \
  "https://redmine.your-domain.com/issues.json"

# 更新问题状态
curl -X PUT -H "X-Redmine-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"issue":{"status_id":3,"notes":"已修复"}}' \
  "https://redmine.your-domain.com/issues/1.json"

八、数据备份

# 备份数据库
docker exec redmine-db mysqldump -uredmine -pRedminePass123 redmine > /opt/backups/redmine_$(date +%Y%m%d).sql

# 备份附件
docker cp redmine:/usr/src/redmine/files /opt/backups/redmine-files/

# 定时备份
crontab -e
0 3 * * * docker exec redmine-db mysqldump -uredmine -pRedminePass123 redmine > /opt/backups/redmine_$(date +\%Y\%m\%d).sql 2>&1

九、常见问题

页面加载缓慢

Redmine 的 Ruby 进程较吃内存,建议配置 swap 空间或选择更高内存的方案。

邮件发送失败

检查 SMTP 配置参数,确认邮件服务器地址和认证信息正确。

总结

Redmine 是功能成熟、稳定可靠的问题追踪系统,其灵活的自定义能力和丰富的插件生态使其适应各种项目管理需求。在搬瓦工 VPS 上使用 Docker 可以快速部署。建议选择 2GB 以上内存的方案。选购请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 折扣。相关工具:Kanboard 教程OpenProject 教程

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。