Redmine是一款经典的开源项目管理与问题跟踪系统,基于Ruby on Rails开发,支持多项目管理、甘特图、Wiki、版本控制集成等核心能力,是中小企业与团队搭建私有项目管理平台的优选方案。相比传统源码部署,Docker可一键封装依赖、简化配置、实现快速启停与迁移,大幅降低部署门槛。本次实测基于主流Linux环境,采用Docker Compose编排Redmine与数据库服务,完整记录从环境准备、配置编写、启动部署到初始化、数据持久化、问题排查的全流程,确保部署后稳定可用。
一、部署前环境准备
- 基础环境检查
- 操作系统:Ubuntu 22.04 / CentOS 7+ / Debian 11+(实测Ubuntu 22.04兼容性最佳)
- 已安装Docker Engine(24.0+)与Docker Compose(v2.20+),确保服务正常运行
- 硬件配置:2核CPU、2GB内存、20GB以上磁盘空间(满足基础团队使用)
- 网络:开放3000端口(Redmine默认端口),确保无防火墙拦截
- 数据目录规划(持久化必备)
- 创建本地目录用于挂载容器数据,避免容器删除后数据丢失
mkdir -p /opt/redmine/{ mysql_data,redmine_files,redmine_plugins,redmine_themes} chmod -R 755 /opt/redmine - 目录说明:
mysql_data存储数据库文件;redmine_files存储上传附件;redmine_plugins存放插件;redmine_themes存放主题
- 创建本地目录用于挂载容器数据,避免容器删除后数据丢失
阿里云部署AI Agent:OpenClaw/Hermes Agent全网最简单,只需两步,详情👉访问阿里云OpenClaw/Hermes一键部署专题页面了解。








Token Plan Token最便宜/支持多模型切换:👉访问订阅阿里云百炼Token Plan AI大模型服务 。支持多模型切换,用于多模态模型灵活调用,实现多模型、多工具、多场景下的额度共享与统一管理,兼顾灵活性、稳定性与安全性,大幅降低企业使用大模型的门槛与成本。

二、生成安全密钥(必填配置)
Redmine需要会话加密密钥保障安全,使用OpenSSL生成64位随机密钥,每次部署需生成新密钥:
openssl rand -hex 64
# 示例输出:a1b2c3d4...(复制备用,切勿泄露)
三、编写Docker Compose配置文件
采用MySQL 8.4作为数据库(兼容性强、社区支持完善),Redmine使用官方稳定镜像,编写docker-compose.yml,配置环境变量、端口映射、数据卷挂载与重启策略:
version: '3.8'
services:
# MySQL数据库服务
mysql:
image: mysql:8.4
container_name: redmine-mysql
restart: always
volumes:
- /opt/redmine/mysql_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: YourStrongRootPass123 # 替换为强密码
MYSQL_DATABASE: redmine
MYSQL_USER: redmine
MYSQL_PASSWORD: YourRedminePass123 # 替换为强密码
TZ: Asia/Shanghai
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
networks:
- redmine-net
# Redmine应用服务
redmine:
image: redmine:6.1.1 # 使用稳定版本,避免latest
container_name: redmine-app
restart: always
depends_on:
mysql:
condition: service_healthy
ports:
- "3000:3000" # 宿主机端口:容器端口
volumes:
- /opt/redmine/redmine_files:/usr/src/redmine/files
- /opt/redmine/redmine_plugins:/usr/src/redmine/plugins
- /opt/redmine/redmine_themes:/usr/src/redmine/public/themes
environment:
REDMINE_DB_MYSQL: mysql
REDMINE_DB_DATABASE: redmine
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: YourRedminePass123 # 与数据库密码一致
REDMINE_SECRET_KEY_BASE: 粘贴生成的64位密钥
TZ: Asia/Shanghai
networks:
- redmine-net
networks:
redmine-net:
driver: bridge
配置要点:
- 数据库与Redmine使用同一网桥
redmine-net,实现容器间通信 - 挂载本地目录确保数据持久化,插件与主题可直接在宿主机修改
- 设置
restart: always实现开机自启与异常重启 - 数据库指定
utf8mb4字符集,支持emoji与多语言存储
四、启动部署与初始化
- 启动服务
在docker-compose.yml所在目录执行命令,后台启动服务:
首次启动会自动拉取镜像、初始化数据库,耗时约3-5分钟(取决于网络与硬件)docker-compose up -d - 检查服务状态
出现# 查看容器运行状态 docker-compose ps # 查看日志(排查启动问题) docker-compose logs -f redmineWEBrick::HTTPServer#start: pid=1 port=3000表示Redmine启动成功 - Web初始化
- 浏览器访问:
http://服务器IP:3000 - 默认管理员账号:
admin,密码:admin - 首次登录强制修改密码,设置完成后进入主界面
- 基础配置:修改站点名称、时区、邮件通知、用户权限等
- 浏览器访问:
五、数据持久化与插件安装(实测关键)
- 数据备份与恢复
- 备份数据库:
docker exec redmine-mysql mysqldump -uredmine -pYourRedminePass123 redmine > /opt/redmine/redmine_backup_$(date +%Y%m%d).sql - 恢复数据库:
docker exec -i redmine-mysql mysql -uredmine -pYourRedminePass123 redmine < /opt/redmine/redmine_backup_20260701.sql
- 备份数据库:
- 插件安装(实测常用插件)
- 下载插件到宿主机
/opt/redmine/redmine_plugins目录 - 进入Redmine容器执行安装命令:
docker exec -it redmine-app bundle install --without development test docker exec -it redmine-app rake redmine:plugins:migrate RAILS_ENV=production - 重启容器生效:
docker-compose restart redmine - 实测插件:
redmine_agile(敏捷管理)、redmine_checklists( checklist)、redmine_wiki_encryptor(Wiki加密)
- 下载插件到宿主机
六、常见问题与排查(实测踩坑记录)
- 数据库连接失败
- 原因:数据库未初始化完成、密码错误、网络不通
- 排查:等待数据库健康检查通过;核对
docker-compose.yml中数据库密码;检查网桥配置
- 中文乱码(PDF/甘特图)
- 原因:容器缺少中文字体
- 解决:构建自定义镜像安装中文字体,或挂载宿主机字体目录
# 临时解决:进入容器安装字体 docker exec -it redmine-app apt update && apt install -y fonts-wqy-zenhei
- 附件上传失败
- 原因:
redmine_files目录权限不足 - 解决:修改目录权限为777或归属容器用户
chown -R 999:999 /opt/redmine/redmine_files # 999为Redmine容器默认用户ID
- 原因:
- 性能缓慢
- 原因:内存不足、未启用缓存
- 解决:增加内存分配;配置Redis缓存;优化数据库参数
七、部署总结与优化建议
本次实测通过Docker Compose成功部署Redmine 6.1.1,实现一键启动、数据持久化、插件扩展与稳定运行,相比传统部署节省80%以上时间。优化建议:
- 生产环境使用Nginx反向代理,配置HTTPS与域名访问
- 启用Redis缓存提升响应速度
- 定期备份数据库与附件数据
- 限制管理员权限,开启登录日志与操作审计
- 定期更新Redmine与数据库镜像,修复安全漏洞
Docker部署Redmine极大简化了老牌开源项目管理工具的落地流程,适合个人、团队与中小企业快速搭建私有项目管理平台,兼顾灵活性、稳定性与可维护性。