Ok, vì vậy đã có nhiều công việc liên quan + nhiều nghiên cứu:
- bạn phải có bộ chứa MySQL riêng biệt và các bộ chứa sử dụng nó
- docker-mailserver phải sử dụng những dòng này thay vì
hình ảnh
:
xây dựng:
bối cảnh: .
dockerfile: dockerfile
- Dockerfile phải là:
TỪ docker.io/mailserver/docker-mailserver:latest
CHẠY apt-get update && apt-get install -y dovecot-mysql
- như bạn có thể thấy nó phải được chạy với
soạn thảo docker
với --xây dựng
tham số
dovecot-mysql
phải được cài đặt vì nó dành cho plugin lấy mật khẩu từ cơ sở dữ liệu MySQL (plugin này phải được bật cho roundcube trong tệp cấu hình - để thay đổi mật khẩu trong cơ sở dữ liệu từ roundcube)
- Trong
vv/dovecot/10-auth.conf
bạn cần bình luận
!bao gồm auth-passwdfile.inc
với #
- trong cùng một tập tin bỏ ghi chú
#!bao gồm auth-sql.conf.ext
- trong tập tin
10-ssl.conf
làm cho dòng ssl=có
- điều này có thể cần thiết cho
userdb
Mà còn
- tạo một bảng trong cơ sở dữ liệu vùng chứa của bạn
hộp thư
có cột tên tài khoản
, mật khẩu mở khóa
- thêm ít nhất một người dùng bằng mật khẩu
$1$...
- được mã hóa
dovecot.cf
tập tin phải có ssl=có
và bạn có thể muốn thêm vô hiệu hóa_plaintext_auth=có
- có
/etc/dovecot
dưới dạng âm lượng (lấy các tệp từ bên trong vùng chứa)
- Trong
/etc/dovecot/dovecot-sql.conf.ext
có:
trình điều khiển = mysql
kết nối = máy chủ = mail_mysql_cont dbname=db user=tên người dùng mật khẩu=root_passwd_for_db
password_query = \
CHỌN tên người dùng NHƯ người dùng, mật khẩu \
TỪ hộp thư WHERE tên người dùng = '%u'
user_query = \
CHỌN '/tmp' NHƯ nhà, 9999 AS uid, 9999 AS gid;
- Trong
/etc/dovecot/auth-sql.conf.ext
có:
mật khẩu {
trình điều khiển = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
Tôi sẽ cập nhật câu trả lời sau vì tôi sẽ tiếp tục giải quyết vấn đề.
CHỈNH SỬA:
Để có thể thay đổi mật khẩu trong Roundcube, bạn cần đính kèm cơ sở dữ liệu MySQL và bảng hộp thư
được tạo với ít nhất các cột tên tài khoản
và mật khẩu mở khóa
.