——5分钟搭建开源项目管理平台

无论是个人任务追踪还是团队敏捷协作,Redmine作为开源项目管理工具,以其灵活的问题跟踪、甘特图和时间管理功能广受欢迎。本文将手把手教你通过Docker在Linux/macOS上5分钟完成Redmine部署,避免环境依赖的繁琐配置,实现开箱即用。


一、为什么用Docker部署Redmine?

  • 跨平台一致性:Linux/macOS/Win统一部署流程
  • 环境隔离:避免Ruby/Gem版本冲突
  • 快速重置:容器删除即可全新安装
  • 扩展便捷:轻松挂载插件和主题

二、准备工作

1. 基础环境

系统

要求

Linux

Docker CE 20.10+,docker-compose 1.29+(安装指南

macOS

Docker Desktop 4.8+(下载地址

2. 验证安装

docker --version        # 输出:Docker version 24.0.7
docker-compose --version # 输出:Docker Compose version v2.21.0

三、单命令极简部署(适合快速体验)

使用官方Redmine镜像+SQLite数据库

docker run -d \
  --name redmine-quick \
  -p 8080:3000 \
  -v redmine_data:/usr/src/redmine/files \
  redmine:5.0-alpine

访问http://localhost:8080 默认账号:admin/admin(首次登录强制修改密码)

💡 优缺点:

  • ✅ 优点:30秒启动,零配置
  • ❌ 缺点:SQLite不适合生产环境

四、生产级部署(Docker Compose + MySQL)

1. 创建项目目录

mkdir redmine-docker && cd redmine-docker
touch docker-compose.yml

2. 编写docker-compose.yml

version: '3.8'

services:
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: "rootpass123"   # 生产环境务必修改!
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine
      MYSQL_PASSWORD: "redminepass123"
    volumes:
      - mysql_data:/var/lib/mysql
    command: 
      --default-authentication-plugin=mysql_native_password  # 兼容旧客户端

  redmine:
    image: redmine:5.0.5
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: "redminepass123"
    volumes:
      - redmine_files:/usr/src/redmine/files
      - ./plugins:/usr/src/redmine/plugins        # 插件目录
      - ./themes:/usr/src/redmine/public/themes   # 主题目录
    depends_on:
      - db

volumes:
  mysql_data:
  redmine_files:

3. 启动服务

docker-compose up -d  # 后台启动

观察日志:docker-compose logs -f redmine

4. 访问与初始化

  1. 打开浏览器访问:
  • Linux: http://localhost:3000
  • macOS: http://host.docker.internal:3000(Docker Desktop特殊域名)
  1. 使用默认账号登录:admin/admin
  2. 立即修改管理员密码

五、常用运维操作

1. 数据备份

# 备份数据库
docker exec redmine-docker_db_1 sh -c 'exec mysqldump -uredmine -p"redminepass123" redmine' > redmine_db_$(date +%F).sql

# 备份附件
tar czvf redmine_files_$(date +%F).tar.gz redmine_files/

2. 插件安装(示例:敏捷看板插件)

# 进入插件目录
cd plugins

# 下载插件
git clone https://github.com/redmine/redmine_agile.git

# 重启Redmine容器
docker-compose restart redmine

3. 主题更换

  1. 下载主题到themes目录:
cd themes
git clone https://github.com/makotokw/redmine-theme-gitmike.git gitmike
  1. 在Redmine后台:管理 → 设置 → 显示 → 主题 中选择Gitmike

六、性能优化配置

1. 调整MySQL参数

docker-compose.ymldb服务下添加:

environment:
  ...
  MYSQL_INNODB_BUFFER_POOL_SIZE: 512M  # 根据内存调整
volumes:
  - ./my.cnf:/etc/mysql/conf.d/custom.cnf  # 挂载自定义配置

2. 启用Redmine缓存

在Redmine容器环境变量添加:

environment:
  ...
  REDMINE_CACHE_STORE: memcache     # 使用Memcached
  MEMCACHE_SERVERS: memcached:11211  # 需额外部署Memcached服务

3. 资源限制(防止OOM)

redmine:
  ...
  deploy:
    resources:
      limits:
        cpus: '1.0'
        memory: 2G

七、故障排查

1. 常见问题

现象

解决方案

启动时数据库连接失败

检查depends_on顺序,增加健康检查重试

插件安装后报错

查看日志docker-compose logs redmine

上传附件权限拒绝

确保挂载目录权限:chmod 777 redmine_files

macOS访问缓慢

在Docker Desktop设置中增加内存至4G+

2. 日志分析命令

# 实时查看Redmine日志
docker-compose logs -f redmine

# 查看MySQL错误日志
docker exec -it redmine-docker_db_1 tail -f /var/log/mysql/error.log

八、升级Redmine版本

# 停止旧容器
docker-compose down

# 备份数据(参考第五节)
...

# 修改docker-compose.yml中的镜像版本
image: redmine:5.1.2  # 升级到新版本

# 重新启动
docker-compose up -d

结语:为什么选择Docker化Redmine?

通过Docker部署Redmine,你获得:

  • 5分钟极速搭建:告别Ruby环境配置噩梦
  • 版本可控:自由切换Redmine版本
  • 数据安全:卷挂载确保持久化存储
  • 生态扩展:无缝集成插件/主题

无论你是个人开发者还是团队管理员,这份指南都能助你快速构建可靠的项目管理平台。

扩展阅读

提示:生产环境务必修改默认密码,并配置HTTPS加密访问!