
okainov/mantisbtMantisBT 缺陷跟踪系统([***] Docker 镜像,旨在提供功能全面、易于部署和定制的缺陷跟踪解决方案。
目前已有一些替代镜像,如 vimagick/mantisbt、xlrl/docker-mantisbt 等。本镜像的优势在于整合了现有镜像的实用功能并补充了缺失特性,主要包括:
admin 服务文件夹docker-compose.yml 示例文件,一键快速启动从本仓库下载 docker-compose.yml:
wget [***]
检查环境变量(至少需设置 MASTER_SALT 环境变量,详情参见 文档)
启动容器:
docker-compose up -d
打开浏览器访问 localhost:8989/admin/install.php,按照安装向导操作,默认参数可直接使用。
使用默认凭据 administrator/root 登录,进行必要配置(通常建议先创建自定义管理员用户并禁用内置 "administrator" 账户)
访问 localhost:8989/admin/ 检查 MantisBT 系统状态。注意:由于 MantisBT 自身问题,部分警告(如魔术引号警告 #26964 和 "文件夹位于 web 根目录外" 警告 #21584)可能显示为 "WARN",属正常现象
准备投入生产环境时,移除 MANTIS_ENABLE_ADMIN 环境变量或设为 0,以移除安装中的 "admin" 文件夹
YAMLversion: "3" services: web: # 生产环境建议固定版本! image: okainov/mantisbt:latest container_name: mantis_web ports: - "8989:80" environment: - MANTIS_ENABLE_ADMIN=1 # 设置 master salt,通常可通过 `cat /dev/urandom | head -c 64 | base64` 生成 #- MASTER_SALT= # 设置基本邮件配置。如需详细配置(如 SMTP),需添加自定义配置文件 - EMAIL_WEBMASTER=webmaster@localhost - EMAIL_FROM=webmaster@localhost - EMAIL_RETURN_PATH=webmaster@localhost # 仅在修改默认值时取消注释 #- MYSQL_HOST=db #- MYSQL_DATABASE=bugtracker #- MYSQL_USER=mantis #- MYSQL_PASSWORD=mantis depends_on: - db restart: always db: image: mysql:5.7 container_name: mantis_db volumes: - ./db_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=bugtracker - MYSQL_USER=mantis - MYSQL_PASSWORD=mantis command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
如需自定义配置选项,可创建 config_inc_addon.php 文件,并将其挂载到容器的 /var/www/html/config/config_inc_addon.php 路径。此文件会追加到默认 config_inc.php 中,无需修改基础镜像数据即可生效。
常见自定义配置示例:
php// 设置实例标题 $g_window_title = '您的 MantisBT 实例标题'; // 修改重认证过期时间(默认 5 分钟) $g_reauthentication_expiry = 60 * 60; // 1 小时 // 增加上传文件大小限制(默认 5MB) $g_max_file_size = 5 * 1024 * 1024; // 5MB // 启用***访问 $g_allow_anonymous_login = true; $g_anonymous_account = 'anonymous';
支持通过环境变量设置基础邮件参数:
EMAIL_WEBMASTER: 对应 g_webmaster_emailEMAIL_FROM: 对应 g_from_emailEMAIL_RETURN_PATH: 对应 g_return_path_email如需配置 SMTP,需通过自定义配置文件添加以下内容(详情参见 官方文档):
php$g_phpMailer_method = PHPMAILER_METHOD_SMTP; $g_smtp_host = 'mail.domain.com'; // SMTP 服务器 $g_smtp_username = '***'; // SMTP 用户名 $g_smtp_password = '您的密码'; // SMTP 密码
添加自定义插件有两种方式:
/var/www/html/plugins/ 目录docker-compose.yml 中添加卷挂载,直接挂载插件目录:./custom_plugin/:/var/www/html/plugins/custom_plugin/(其中 custom_plugin 为您的插件目录名)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务