Итак, было проделано много работы + много исследований:
- у вас должен быть отдельный контейнер MySQL и контейнеры, использующие его
- docker-mailserver должен использовать эти строки вместо
изображение
:
строить:
контекст: .
докерфайл: Докерфайл
- Докерфайл должен быть:
ОТ docker.io/mailserver/docker-mailserver: последний
RUN apt-get update && apt-get install -y dovecot-mysql
- как вы можете видеть, он должен запускаться с
docker-compose
с --строить
параметр
голубятня-mysql
должен быть установлен так же, как и для плагина для получения пароля из базы данных MySQL (этот плагин должен быть включен для roundcube в файле конфигурации - для смены паролей в базе данных из roundcube)
- в
etc/dovecot/10-auth.conf
вам нужно прокомментировать
!include auth-passwdfile.inc
с #
- в этом же файле раскомментировать
#!include auth-sql.conf.ext
- в файле
10-ssl.conf
сделать линию ssl=да
- это может понадобиться для
пользовательская база данных
также
- сделать в вашей контейнерной базе данных таблицу
почтовый ящик
с колоннами имя пользователя
, пароль
- добавить хотя бы одного пользователя с паролем
$1$...
- зашифровано
dovecot.cf
файл должен иметь ssl=да
и вы можете добавить disable_plaintext_auth = да
- имеют
/etc/голубятня
как том (взять файлы внутри контейнера)
- в
/etc/dovecot/dovecot-sql.conf.ext
имеют:
драйвер = mysql
connect = host=mail_mysql_cont dbname=db user=username password=root_passwd_for_db
пароль_запрос = \
ВЫБЕРИТЕ имя пользователя КАК пользователь, пароль \
ИЗ почтового ящика, ГДЕ имя пользователя = '%u'
пользовательский_запрос = \
ВЫБЕРИТЕ '/tmp' AS home, 9999 AS uid, 9999 AS gid;
- в
/etc/dovecot/auth-sql.conf.ext
имеют:
БД {
драйвер = sql
аргументы = /etc/dovecot/dovecot-sql.conf.ext
}
Я обновлю ответ позже, так как буду работать над проблемой дальше.
РЕДАКТИРОВАТЬ:
Чтобы сделать возможным изменение пароля в Roundcube, вам необходимо подключить базу данных MySQL и таблицу почтовый ящик
создано как минимум из столбцов имя пользователя
и пароль
.