Redmine 6.0.7(Docker)插件与主题安装实施报告


一、环境说明

1. 基础环境

  • 操作系统:Ubuntu Server
  • 部署方式:Docker + Docker Compose
  • Redmine 版本:6.0.7
  • Rails 版本:7.2.x(Redmine 6 内置)
  • 数据库:MySQL 8.0

2. 容器信息

服务 容器名
Redmine redmine
MySQL redmine_db

二、Docker Compose 配置

version: '3.8'

services:
  redmine:
    image: redmine:6.0.7
    container_name: redmine
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redmine
      REDMINE_DB_DATABASE: redmine
    volumes:
      - ./redmine_data:/usr/src/redmine/files
      - ./plugins:/usr/src/redmine/plugins
      - ./themes:/usr/src/redmine/themes
    depends_on:
      - db

  db:
    image: mysql:8.0
    container_name: redmine_db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine
      MYSQL_PASSWORD: redmine
    volumes:
      - ./mysql_data:/var/lib/mysql

三、插件安装实施

1. 插件通用安装流程

Step 1:拷贝插件
cp -r 插件名 ./plugins/
Step 2:进入容器
docker exec -it redmine bash
cd /usr/src/redmine
Step 3:安装依赖
bundle install
Step 4:插件数据库迁移
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Redmine 6 已移除 redmine:plugins:migrate:status

Step 5:清理缓存
bundle exec rake tmp:cache:clear RAILS_ENV=production
bundle exec rake tmp:sockets:clear
Step 6:重启容器
exit
docker-compose restart redmine

2. 已安装插件列表

插件名称 状态 说明
redmine_question 成功 问答插件
redmine_agile 成功 敏捷管理插件
redmine_people 成功 人员管理插件
redmine_reporter 成功 报表统计插件
redmine_resources 成功 资源管理插件
redmine_products 失败 与 Redmine 6 / Rails 7 不兼容

四、插件失败原因分析(redmine_products)

1. 现象

  • Redmine 容器启动失败或反复重启
  • Rails 初始化阶段抛出异常
  • 插件未显示在插件列表中
  • 数据库中未生成相关表

2. 根本原因

  • 插件基于旧版 Redmine / Rails(5.x / 6.x)
  • 与 Redmine 6 使用的 Rails 7.2 + Zeitwerk 自动加载机制不兼容
  • 属于 插件加载阶段的 Rails 初始化异常

3. 结论

该问题与 Docker、MySQL、系统权限、资源无关,确定为插件本身不兼容所致。


五、主题安装实施

1. 主题通用安装流程

Step 1:拷贝主题
cp -r 主题名 ./themes/
Step 2:确认容器内挂载
docker exec -it redmine bash
ls /usr/src/redmine/themes
Step 3:修正权限
chown -R 1000:1000 /usr/src/redmine/themes
Step 4:重启容器
exit
docker-compose restart redmine
Step 5:后台启用主题
  • 管理 → 配置 → 显示 → 主题
  • 选择主题并保存

2. 已安装主题列表

主题名称 状态 备注
coffee 生效 正常显示
redminecrm 生效 正常显示
a1 生效 正常显示
circle 生效 正常显示

六、经验与注意事项

  • 插件与主题路径必须严格区分
  • 插件需执行数据库迁移,主题不需要
  • Redmine 6 大量老插件不再兼容
  • 插件初始化错误会直接导致 Redmine 无法启动

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐