通过挂载持久化配置文件来实现redmine的邮件启用,如在服务器或本机地址上(本例中在/mnt/redmine/config/目录中)新建一个configuration.yml配置文件,用于redmine启用邮件设置(本例中使用163邮件的配置为例,其中163的密码为授权码而非邮箱 登录密码,由于163邮箱配置的特殊性,故而需要增加tls: false与openssl_verify_mode: 'none'的配置选项)。
```bash
# = Redmine configuration file
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.163.com
port: 465
authentication: :login
domain: 163.com
user_name: xxxxx@163.com
password: xxxxxxxx
ssl: true
enable_starttls_auto: true
tls: false
openssl_verify_mode: 'none'
```
然后再编写redmine.yml文件,执行下述命令即可。
docker-compose -f redmine.yml up -d
redmine.yml文件内容:
```bash
version: '3.1'
services:
redmine:
image: redmine:3.4
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: secret
volumes:
- /mnt/redmine/log:/usr/src/redmine/log
- /mnt/redmine/data:/home/redmine/data
- /mnt/redmine/config/configuration.yml:/usr/src/redmine/config/configuration.yml
- /mnt/redmine/server/plugins:/usr/src/redmine/redmine/redmine/plugins
depends_on:
- db
db:
image: mysql:5.7
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: redmine
LANG: C.UTF-8
MYSQL_CHARSET: utf-8
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
volumes:
- /mnt/redmine-mysql:/var/lib/mysql
```
* **注:此处docker-compose文件的redmine持久化挂载即是将本地或服务器上的configuration.yml文件持久化到容器中;另为了方便插件管理将插件目录也进行持久化挂载,便于后期增加插件异常时无法启动的维护**
```bash
# = Redmine configuration file
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.163.com
port: 465
authentication: :login
domain: 163.com
user_name: xxxxx@163.com
password: xxxxxxxx
ssl: true
enable_starttls_auto: true
tls: false
openssl_verify_mode: 'none'
```
然后再编写redmine.yml文件,执行下述命令即可。
docker-compose -f redmine.yml up -d
redmine.yml文件内容:
```bash
version: '3.1'
services:
redmine:
image: redmine:3.4
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: secret
volumes:
- /mnt/redmine/log:/usr/src/redmine/log
- /mnt/redmine/data:/home/redmine/data
- /mnt/redmine/config/configuration.yml:/usr/src/redmine/config/configuration.yml
- /mnt/redmine/server/plugins:/usr/src/redmine/redmine/redmine/plugins
depends_on:
- db
db:
image: mysql:5.7
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: redmine
LANG: C.UTF-8
MYSQL_CHARSET: utf-8
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
volumes:
- /mnt/redmine-mysql:/var/lib/mysql
```
* **注:此处docker-compose文件的redmine持久化挂载即是将本地或服务器上的configuration.yml文件持久化到容器中;另为了方便插件管理将插件目录也进行持久化挂载,便于后期增加插件异常时无法启动的维护**