阿里云使用Docker部署工单系统(redmine)

时间:2022-02-13 01:30:13

环境:阿里云服务器

Redmine安装部署

Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

1. 安装redmine,postgresql

# docker pull sameersbn/redmine
# docker pull sameersbn/postgresql # 数据库用pgsql,mysql都是可以的

2. 创建映射目标

# mkdir -p /apps/redmine/postgresql
# mkdir -p /apps/redmine/redmine

3. 创建容器

1、使用postgresql数据库运行redmine
#启动数据库
docker run --name=postgresql-redmine -d --env='DB_NAME=redmine_production' \
--env='DB_USER=redmine' \
--env='DB_PASS=password' \
--restart=always \
--volume=/apps/redmine/postgresql:/var/lib/postgresql \
sameersbn/postgresql

#启动redmine
 docker run --name=redmine -d \
 --link=postgresql-redmine:postgresql
 --publish=10083:80 \
 --env='SMTP_PORT=465' \
 --env='SMTP_HOST=smtp.163.com' \
 --env='SMTP_DOMAIN=smtp.163.com' \
 --env='SMTP_AUTHENTICATION=login' \
 --env='SMTP_USER=*******@163.com' --env='SMTP_PASS=*******' \
 --env='SMTP_TLS=true' \
 --env='REDMINE_PORT=10083' \
 --volume=/apps/redmine/redmine:/home/redmine/data \
 --restart=always \
 sameersbn/redmine:latest

2、使用mysql数据库运行redmine

docker run --name=redmine -d \
 --publish=10083:80 \
 --env='SMTP_PORT=465' \
 --env='SMTP_HOST=smtp.163.com' \
 --env='SMTP_DOMAIN=smtp.163.com' \
 --env='SMTP_AUTHENTICATION=login' \
 --env='SMTP_USER=******@163.com' --env='SMTP_PASS=******' \
 --env='SMTP_TLS=true' \
 --env='REDMINE_PORT=10083' \
 --env='DB_ADAPTER=mysql2' \
 --env='DB_HOST=192.168.0.100' \
 --env='DB_NAME=redmine_production' \
 --env='DB_USER=red_mine' \
 --env='DB_PASS=******' \
 --volume=/apps/redmine/redmine:/home/redmine/data \
 --restart=always \
 sameersbn/redmine:latest

注:1和2使用一种方式启动即可。

4. 查看状态

启动后通过docker ps查看:
# docker ps

CONTAINER ID    IMAGE                       COMMAND                    CREATED              STATUS       PORTS                             NAMES

5c63438eb66d   sameersbn/redmine:latest    "/sbin/entrypoint.sh…"      5 minutes ago Up     5 minutes    443/tcp, 0.0.0.0:10083->80/tcp     redmine

5. 登录与访问

地址:http://IP:10083/
默认用户名:admin
默认密码:admin

6. 插件安装,以redmine_agile为例

常用插件列表:https://github.com/sameersbn/docker-redmine/wiki/plugins

# cd /apps/redmine/redmine/plugins
# git clone https://github.com/RCRM/redmine_agile.git
# docker restart redmine 注:根据需求执行该项。

登录到后台,点击项目,查看所有问题就能看到安装的插件了。

注:SMTP_PASS是网易提供的授权码,不是邮箱的密码。申请邮箱后,在个人设置中开通smtp,pop3服务配置

SMTP_TLS如果为false会导致发送邮件出现"end of file reached"错误。

SMTP_PORT这里需要设置为非25端口,因为阿里云默认封25端口。

格式问题:yml文件自身格式,空格缩进等要求严格,建议在理解基础上拷贝,因为拷贝时经常造成空格异位等问题。另外引号和特殊字符等等也均有可能造成问题。

启动后通过docker ps找到redmine的container-id通过dockers exec -it container-id /bin/bash进入redmine,

修改conf目录下setting里mail_from为你163账户

在设定redmine之前,最好确认一下是否在redmine所在环境邮件收发是否能正常发送,防止一些低级错误,最后发送测试邮件

telnet SMTP.163.com 465

最后在阿里云服务器上增加安全规则,放开10083端口的访问。