Docker 部署 Redmine:老牌开源项目管理部署实测记录

简介: 团队用 Jira、禅道、飞书项目,数据不在自己手里?Redmine 是一款开源、可自托管的项目管理与问题跟踪系统——支持 工单、甘特图、Wiki、版本库、时间跟踪,Docker Compose 双容器(Redmine + MySQL)即可跑通。浏览器打开就能建项目、派任务、看进度,数据全在你自己的服务器上。本文带你完成一次 Redmine Docker Compose 私有化部署:镜像加速拉取、编写 docker-compose.yml、处理 3000 端口冲突、读懂启动日志,到浏览器 admin 登录、强制改密、切换中文、载入默认配置、新建第一个项目——全程零基础可跟做。

团队用 Jira、禅道、飞书项目,数据不在自己手里?Redmine 是一款开源、可自托管的项目管理与问题跟踪系统——支持 工单、甘特图、Wiki、版本库、时间跟踪Docker Compose 双容器(Redmine + MySQL)即可跑通。浏览器打开就能建项目、派任务、看进度,数据全在你自己的服务器上。

不用买商业软件,Compose 双容器启动,打开浏览器就能建项目派任务。本文带你完成 Redmine Docker Compose 私有化部署:镜像加速拉取、编写 docker-compose.yml、处理 3000 端口冲突、读懂启动日志,到浏览器 admin 登录、强制改密、载入默认配置、新建第一个项目——全程零基础可跟做。


一、Redmine 是什么?

Redmine 是一款 开源、自托管的项目管理与问题跟踪系统,基于 Ruby on Rails,GPL 许可。核心能力:

能力 说明
多项目管理 每个项目独立模块:工单、Wiki、文档、版本库、讨论区
问题跟踪 自定义跟踪标签、状态、工作流;支持甘特图、日历
权限与角色 细粒度角色权限,支持 LDAP 认证
时间跟踪 记录工时、生成报表
插件生态 大量社区插件扩展功能

典型使用场景:小团队 私有工单系统(替代 Jira / 禅道 SaaS);开发团队 Bug 跟踪 + 版本里程碑;内部 项目进度与 Wiki 统一入口。

部署要点:Redmine 不能单容器跑生产环境,需配套 MySQL(本文用 mysql:8.0-debian)。不配数据库会回退 SQLite,仅适合临时试用。


二、环境要求

项目 建议
操作系统 Linux(本文 Ubuntu 24.04)
Docker 已安装 Docker 与 Docker Compose V2
内存 ≥ 2 GB(推荐 4 GB)
CPU 双核即可;老旧 VPS 须用 mysql:8.0-debian
磁盘 ≥ 5 GB(镜像 + 数据库 + 附件)
端口 8080(宿主机映射,容器内 Redmine 监听 3000

验证 Docker:

docker --version
docker compose version

若尚未安装 Docker,可使用一键脚本:

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

三、拉取镜像

docker pull docker.xuanyuan.run/library/redmine:6.0.10
docker pull docker.xuanyuan.run/library/mysql:8.0-debian

成功时终端显示 Status: Downloaded newer image for ...

部署前预检(确认 MySQL 能在本机 CPU 上运行):

docker run --rm docker.xuanyuan.run/library/mysql:8.0-debian mysql --version

若报 CPU does not support x86-64-v2勿用 mysql:8.0 默认标签,须改用 mysql:8.0-debian

官方镜像 轩辕镜像加速拉取 说明
redmine:6.0.10 docker.xuanyuan.run/library/redmine:6.0.10 本文主镜像
mysql:8.0-debian docker.xuanyuan.run/library/mysql:8.0-debian 老旧 CPU 首选
mysql:8.0 docker.xuanyuan.run/library/mysql:8.0 勿用(需 x86-64-v2)

四、创建目录并编写 Compose

mkdir -p /www/wwwroot/redmine/{
   files,mysql}
cd /www/wwwroot/redmine
宿主机目录 容器内路径 用途
files/ /usr/src/redmine/files 附件与上传文件
mysql/ /var/lib/mysql MySQL 数据库数据

4.1 生成 SECRET_KEY

Redmine 会话加密密钥 必填

openssl rand -hex 64

将输出填入下方 REDMINE_SECRET_KEY_BASE每次部署应使用不同值)。

4.2 编写 docker-compose.yml

vim docker-compose.yml

完整内容(请将密码改为强密码):

name: redmine

services:
  redmine:
    image: docker.xuanyuan.run/library/redmine:6.0.10
    container_name: redmine
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8080:3000"
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: YourStrongPass123
      REDMINE_SECRET_KEY_BASE: 请粘贴_openssl_rand_输出
      TZ: Asia/Shanghai
    volumes:
      - ./files:/usr/src/redmine/files

  db:
    image: docker.xuanyuan.run/library/mysql:8.0-debian
    container_name: redmine-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: RootPass456
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine
      MYSQL_PASSWORD: YourStrongPass123
      TZ: Asia/Shanghai
    volumes:
      - ./mysql:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-pRootPass456"]
      interval: 10s
      timeout: 5s
      retries: 10

各参数说明:

参数 说明
8080:3000 宿主机 8080 → 容器 3000
REDMINE_DB_* Redmine 连接 MySQL 的库名、用户、密码
REDMINE_SECRET_KEY_BASE 会话加密密钥,必填
depends_on + healthcheck 等 MySQL 就绪后再启动 Redmine

密码一致性REDMINE_DB_PASSWORD 必须与 MYSQL_PASSWORD 相同;healthcheck 中的 root 密码须与 MYSQL_ROOT_PASSWORD 一致。


五、启动服务

docker compose up -d

首次启动 MySQL 初始化约 20~30 秒,Redmine 数据库迁移约 1~3 分钟

docker compose ps
docker compose logs -f redmine

期望 docker compose ps 输出(Ubuntu 24.04 实测):

NAME         IMAGE                                          STATUS                        PORTS
redmine      docker.xuanyuan.run/library/redmine:6.0.10     Up                            0.0.0.0:8080->3000/tcp
redmine-db   docker.xuanyuan.run/library/mysql:8.0-debian   Up (healthy)                  3306/tcp

日志中出现大量 Writing ...Migrating to ... 属正常。末尾出现 Listening on tcp://0.0.0.0:3000 即表示就绪。

curl -I http://127.0.0.1:8080

应返回 HTTP 200302

端口冲突:若报 3000/tcp: address already in use,将 ports 改为 "8080:3000" 后重新 docker compose up -d(本文实测即为此方案)。

日志提示Gemfile lists the gem puma ... more than once 或 jQuery WARN 为官方镜像已知输出,不影响使用


六、浏览器访问与登录

浏览器打开(将 IP 换成你的服务器地址):

http://你的服务器IP:8080

6.1 首页欢迎页

首次访问看到 Redmine 默认欢迎页,右上角有 「登录」「注册」

Redmine 首页:Welcome to Redmine 欢迎语,右上角登录与注册入口

图 1:部署成功后的 Redmine 首页

6.2 默认账号登录

点击 「登录」,输入默认管理员账号:

字段
登录名 admin
密码 admin

Redmine 登录页:登录名 admin,输入默认密码后点击登录

图 2:默认管理员账号 admin / admin

安全提示:默认密码 admin 仅用于首次登录。Redmine 登录后会 强制改密,公网暴露前务必完成。

6.3 强制修改密码

页面顶部红色提示:「您的密码已经过期或是管理员要求您修改密码。」 填写当前密码 admin 与新密码(至少 8 个字符),点击 「应用」

Redmine 修改密码页:当前密码、新密码与确认,至少 8 个字符

图 3:首次登录强制改密

6.4 我的账号

改密成功后进入 「我的帐号」,顶部绿色提示 「密码更新成功」。可在此将 语言 改为 简体中文

Redmine 我的帐号:密码更新成功提示,语言与通知偏好设置

图 4:改密成功后的个人账号设置页


七、初始化与功能验证

7.1 载入默认配置(推荐)

顶部 「管理」,语言选 「Chinese/Simplified (简体中文)」,点击 「载入默认设置」

Redmine 管理页:载入默认配置提示,语言选简体中文

图 5:一键初始化角色、跟踪标签与工作流

7.2 新建第一个项目

「项目」→「新建项目」,填写名称(如 测试App项目)、标识(如 app,保存后不可改),勾选所需模块(问题跟踪、Wiki、甘特图等),点击 「创建」

Redmine 新建项目:名称、标识 app、模块勾选问题跟踪与甘特图等

图 6:创建第一个项目

7.3 我的工作台

顶部 「我的工作台」 进入个人仪表盘,可查看 指派给我的问题已报告的问题 等;右侧 「新增:」 可添加更多面板:

Redmine 我的工作台:指派与已报告问题面板,新增区块下拉菜单

图 7:个人工作台,可自定义仪表盘区块

至此,拉镜像 → Compose 启动 → admin 登录 → 改密 → 载入默认配置 → 新建项目 → 工作台 全流程验证完成。


八、常见问题 FAQ

Q1:启动报 3000/tcp: address already in use

宿主机 3000 被占用。将 docker-compose.ymlports 改为 "8080:3000",执行 docker compose up -d,浏览器访问 http://服务器IP:8080

Q2:浏览器一直 502 / 转圈?

数据库尚未就绪。先确认 redmine-db(healthy)docker compose ps。首次迁移约 1~3 分钟,可 docker compose logs -f redmine 观察进度。

Q3:数据存在哪里?

/www/wwwroot/redmine/files/(附件)与 /www/wwwroot/redmine/mysql/(数据库)。删除会丢失全部项目与工单,升级镜像时请勿删除。

Q4:如何升级 Redmine?

cd /www/wwwroot/redmine
docker pull docker.xuanyuan.run/library/redmine:6.0.10
docker compose up -d

跨大版本升级前建议备份 files/mysql/

Q5:如何切换中文界面?

我的帐号 → 语言 → 简体中文(zh)→ 保存。全站默认语言可在 管理 → 配置 → 一般 中设置。

Q6:生产环境如何对外发布?

建议 Nginx / Caddy 反向代理127.0.0.1:8080 并配置 HTTPS;在 管理 → 配置 → 一般 设置 主机名称 为你的域名。8080 建议仅内网访问。


九、命令速查

操作 命令
拉取 Redmine docker pull docker.xuanyuan.run/library/redmine:6.0.10
拉取 MySQL docker pull docker.xuanyuan.run/library/mysql:8.0-debian
生成密钥 openssl rand -hex 64
Compose 启动 cd /www/wwwroot/redmine && docker compose up -d
查看状态 docker compose ps
查看日志 docker compose logs -f redmine
健康检查 curl -I http://127.0.0.1:8080
Web 访问 http://服务器IP:8080
默认账号 admin / admin(首次登录后强制改密)
停止服务 docker compose down

总结

Redmine = 私有化项目与工单管理,需 Redmine + MySQL 双容器

  • 轩辕镜像加速拉取 redmine:6.0.10mysql:8.0-debian
  • Compose 映射 8080:3000,持久化 files/mysql/
  • 浏览器 admin/admin 登录 → 改密 → 载入默认配置 → 新建项目
  • 长期运行请配合 数据备份反向代理 HTTPS

延伸阅读(复制打开):

Redmine 官网:

https://www.redmine.org

官方 Wiki:

https://www.redmine.org/projects/redmine/wiki

Docker Hub 镜像说明:

https://hub.docker.com/_/redmine

library/redmine 轩辕镜像页:

https://xuanyuan.cloud/zh/r/library/redmine

library/mysql 轩辕镜像页:

https://xuanyuan.cloud/zh/r/library/mysql

轩辕镜像首页:

https://xuanyuan.cloud

如果你在拉取 Docker 镜像时遇到速度慢、超时等问题,可以试试轩辕镜像的加速服务。欢迎收藏 library/redmine 镜像页,获取最新标签与更新说明:

https://xuanyuan.cloud/zh/r/library/redmine

Compose 完整配置、环境变量速查、宝塔 MySQL 对接与更多 FAQ,详细步骤请查看:

https://xuanyuan.cloud/blog/docker-redmine

本文基于 library/redmine:6.0.10 与 mysql:8.0-debian 镜像,Ubuntu 24.04 服务器实测

目录
相关文章
|
10天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
412 125
|
1月前
|
运维 网络安全 数据安全/隐私保护
Docker 部署 GitLab CE 完整版教程
GitLab Community Edition(简称GITLAB-CE)是一款开源的DevOps平台,集成了代码仓库管理、版本控制、 issue 跟踪、CI/CD 流水线、Wiki 和容器仓库等功能,为软件开发团队提供一站式的协作解决方案。通过Docker容器化部署GITLAB-CE,可大幅简化安装流程、提高环境一致性,并便于快速扩展和迁移。本文将详细介绍如何通过Docker快速部署GITLAB-CE,并提供生产环境优化建议及故障排查方案。
591 0
Docker 部署 GitLab CE 完整版教程
|
10天前
|
消息中间件 存储 Kafka
Kafka 原生消息入湖能力上线!一键打通实时流与数据湖
阿里云消息队列 Kafka 版正式上线原生消息入湖能力。
307 124
|
18天前
|
人工智能 自然语言处理 Linux
基于 Docker 的 OpenCode 部署指南:Linux 云服务器上搭建浏览器 AI 编程环境
想在浏览器里用 AI 帮你写代码、改项目?OpenCode 是一款开源 AI 编码代理,支持终端 TUI、Web 界面和 IDE 扩展等多种使用方式。本文带你完成一次完整的 OpenCode Docker 部署:从环境准备到在浏览器里用自然语言生成第一个 hello-world 主页,全程约 10 分钟,零基础可跟做。
373 0
基于 Docker 的 OpenCode 部署指南:Linux 云服务器上搭建浏览器 AI 编程环境
|
16天前
|
弹性计算 应用服务中间件 nginx
ONLYOFFICE Docker 部署教程:阿里云 ECS 搭建在线文档服务器
本文基于 Ubuntu 24.04 实测,详解 ONLYOFFICE Document Server 9.4.0.1 社区版的 Docker 部署:从镜像拉取、容器启动、example 测试页启用,到 Nginx 反代 + sub_filter 解决白屏与 400 错误,覆盖环境要求、排错要点及生产建议,助你快速验证在线编辑能力。
461 0
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
5 分钟共享打印机:用 Docker 一键部署 CUPS
家庭/小团队共享打印机太麻烦?本文教你5分钟用Docker一键部署CUPS打印服务:拉取`anujdatar/cups`,一条命令启动容器,Web界面添加HP Smart Tank等IPP打印机,局域网内所有设备(Win/mac/Linux/手机)即可无线打印,配置持久化、操作零门槛!
131 0
5 分钟共享打印机:用 Docker 一键部署 CUPS
|
8天前
|
Java Nacos 微服务
ACK + Spring Cloud Alibaba 实战:云原生微服务从0到1的全链路搭建
单体应用 QPS 天花板 200,大促直接雪崩——拆分为 8 个微服务部署到 ACK 后,单服务 QPS 提升 10 倍,整体系统可用性从 99.5% 提升到 99.99%。本文以一个真实的中型电商平台为案例,完整演示从单体到云原生微服务的全链路搭建:ACK 集群规划、Spring Cloud Alibaba 全家桶集成(Nacos + Sentinel + Seata + Gateway + OpenFeign)、K8s 部署实战(Helm + HPA + 金丝雀发布)、可观测性建设(ARMS + SLS + Prometheus),以及 5 个生产级踩坑实录和最佳实践。
ACK + Spring Cloud Alibaba 实战:云原生微服务从0到1的全链路搭建
|
10天前
|
人工智能 自然语言处理 监控
阿里云千问大模型详细介绍:模型优势、适用场景、价格及使用教程参考
通义千问(Qwen)是阿里云自研的超大规模语言模型系列,已形成"旗舰+均衡+轻量+多模态"完整矩阵,最新Qwen3-Next采用MoE架构,总参数800亿仅激活30亿,兼顾性能与成本。模型覆盖文本、代码、图文音视频等全场景,Qwen3.7-Max在国际评测中排名领先,Qwen2-72B登顶最强开源模型。通过阿里云百炼平台,开发者可按量付费、资源包或节省计划(最高5折)灵活调用,并借助Model-as-a-Service和Agent开发平台两大路径,快速构建智能客服、编程助手、企业知识库等应用,推动AI普惠落地。
|
24天前
|
人工智能 Cloud Native 架构师
2026年全网主流AI编程工具深度横评 赋能研发效能全面升级与工程化落地
当下,整个软件工程行业正式迈入AI原生发展新阶段,AI编程工具不再是锦上添花的辅助插件,而是技术团队突破研发效能瓶颈、简化工程化落地流程的核心生产力工具。知名咨询机构麦肯锡发布的2026软件研发效能白皮书明确指出,全面引入前沿智能编码代理工具的技术团队,人均代码吞吐量相比传统研发模式提升35%以上,代码调试周期、项目交付周期也得到显著压缩。面对市场上品类繁多、功能定位各异的智能编码产品,如何结合自身业务场景、团队架构、合规要求挑选适配工具,成为企业技术管理者、架构师与一线开发者共同关注的问题。本文结合云原生架构落地、大型项目重构、数据安全合规、多任务协同等真实研发场景,对2026年五款主流AI
2905 1
|
8天前
|
人工智能 数据可视化 安全
Claude Code /config`完全指南:AI 编程调教术
Claude Code 的 `/config` 是其核心交互式设置面板,一键呼出即可管理模型、上下文、权限、编辑器、输出等全部配置。支持 Tab 导航、实时搜索、多层级配置文件,并新增 `--help` 快捷键与更直觉的 Enter/Space 切换逻辑,让 AI 编程体验真正个性化、高效化。(239字)
201 0