团队用 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 200 或 302。
端口冲突:若报
3000/tcp: address already in use,将ports改为"8080:3000"后重新docker compose up -d(本文实测即为此方案)。日志提示:
Gemfile lists the gem puma ... more than once或 jQueryWARN为官方镜像已知输出,不影响使用。
六、浏览器访问与登录
浏览器打开(将 IP 换成你的服务器地址):
http://你的服务器IP:8080
6.1 首页欢迎页
首次访问看到 Redmine 默认欢迎页,右上角有 「登录」 与 「注册」:

图 1:部署成功后的 Redmine 首页
6.2 默认账号登录
点击 「登录」,输入默认管理员账号:
| 字段 | 值 |
|---|---|
| 登录名 | admin |
| 密码 | admin |

图 2:默认管理员账号 admin / admin
安全提示:默认密码
admin仅用于首次登录。Redmine 登录后会 强制改密,公网暴露前务必完成。
6.3 强制修改密码
页面顶部红色提示:「您的密码已经过期或是管理员要求您修改密码。」 填写当前密码 admin 与新密码(至少 8 个字符),点击 「应用」:

图 3:首次登录强制改密
6.4 我的账号
改密成功后进入 「我的帐号」,顶部绿色提示 「密码更新成功」。可在此将 语言 改为 简体中文:

图 4:改密成功后的个人账号设置页
七、初始化与功能验证
7.1 载入默认配置(推荐)
顶部 「管理」,语言选 「Chinese/Simplified (简体中文)」,点击 「载入默认设置」:

图 5:一键初始化角色、跟踪标签与工作流
7.2 新建第一个项目
「项目」→「新建项目」,填写名称(如 测试App项目)、标识(如 app,保存后不可改),勾选所需模块(问题跟踪、Wiki、甘特图等),点击 「创建」:

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

图 7:个人工作台,可自定义仪表盘区块
至此,拉镜像 → Compose 启动 → admin 登录 → 改密 → 载入默认配置 → 新建项目 → 工作台 全流程验证完成。
八、常见问题 FAQ
Q1:启动报 3000/tcp: address already in use?
宿主机 3000 被占用。将 docker-compose.yml 中 ports 改为 "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.10与mysql: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 服务器实测