Hi, I'm migrating my physical Dovecot Server 2.2.33.2 to a new 2.4.1 (latest) on Docker container installation. I've got auth process successfully (Mariadb + Wforce included), but I cannot see their Maildir mailbox structure and elements, and logging debug not show errors related.
I detected in my probe account that when I make logging with the new installation, a new "Maildir" directory into Mailbox structure disk is created, as unique difference that I noted, and perhaps would be a symptom, but I'm not sure. ... imap(probe@mydomain)<20><BpSIoIY3GIpYDjFl>: Info: Mailbox INBOX: Mailbox created ...
--- "probe@mydomain" account disk structure --- drwxrwsr-x 7 mail dovecot 4096 dic 19 09:33 .. drwx--S--- 3 dovecot dovecot 4096 jun 14 13:40 Maildir drwxrwsr-x 2 dovecot dovecot 4096 jun 13 20:12 tmp drwxrwsr-x 2 dovecot dovecot 4096 jun 14 12:42 new drwxrwsr-x 2 dovecot dovecot 16384 jun 14 12:47 cur drwx--S--- 3 dovecot dovecot 4096 jun 3 16:02 sieve drwxrwsr-x 5 dovecot dovecot 4096 jun 14 12:57 .Sent drwxrwsr-x 5 dovecot dovecot 4096 nov 9 2020 .spam drwxrwsr-x 5 dovecot dovecot 4096 abr 30 2019 .Drafts drwxrwsr-x 5 dovecot dovecot 4096 jun 14 12:47 .Trash -rw------- 1 dovecot dovecot 212 jul 28 2019 .dovecot.svbin -rw-rw-r-- 1 dovecot dovecot 656 feb 11 02:09 dovecot.index -rw-rw-r-- 1 dovecot dovecot 31832 jun 14 12:47 dovecot.index.cache -rw-rw-r-- 1 dovecot dovecot 26252 jun 14 12:57 dovecot.index.log -rw-rw-r-- 1 dovecot dovecot 7420 ene 16 14:32 dovecot.list.index.log -rw-rw-r-- 1 dovecot dovecot 29 may 4 2019 dovecot-acl-list -rw-rw-r-- 1 dovecot dovecot 10 oct 31 2020 dovecot-keywords -rw------- 1 dovecot dovecot 240 dic 26 16:37 dovecot.mailbox.log -rw------- 1 dovecot dovecot 8 dic 26 16:37 dovecot-uidvalidity -r--r--r-- 1 dovecot dovecot 0 abr 19 2019 dovecot-uidvalidity.5cb9d075 -rw-rw-r-- 1 dovecot dovecot 909 jun 13 20:12 dovecot-uidlist -rw-rw-r-- 1 dovecot dovecot 87 dic 26 16:37 subscriptions
--- old other account disk structure --- drwxrwsr-x 7 mail dovecot 4096 dic 19 09:33 .. drwxrwsr-x 2 dovecot dovecot 4096 oct 8 2024 tmp drwxrwsr-x 2 dovecot dovecot 4096 oct 8 2024 new drwxrwsr-x 2 dovecot dovecot 4096 oct 8 2024 cur drwx--S--- 3 dovecot dovecot 4096 may 27 23:38 sieve drwxrwsr-x 5 dovecot dovecot 4096 abr 2 15:37 .Sent drwxrwsr-x 5 dovecot dovecot 4096 may 26 17:03 .spam drwxrwsr-x 5 dovecot dovecot 4096 abr 30 2019 .Drafts drwxrwsr-x 5 dovecot dovecot 4096 sep 4 2020 .Trash lrwxrwxrwx 1 dovecot dovecot 23 may 4 2019 .dovecot.sieve -> sieve/managesieve.sieve -rw------- 1 dovecot dovecot 264 may 5 2019 .dovecot.svbin -rw-rw-r-- 1 dovecot dovecot 816 oct 17 2019 dovecot.index -rw-rw-r-- 1 dovecot dovecot 30152 abr 2 15:35 dovecot.index.log -rw-rw-r-- 1 dovecot dovecot 30884 abr 2 15:35 dovecot.index.cache -rw-rw-r-- 1 dovecot dovecot 146 may 3 2019 dovecot.index.thread -rw-rw-r-- 1 dovecot dovecot 13 may 2 2019 dovecot-keywords -rw-rw-r-- 1 dovecot dovecot 240 oct 17 2019 dovecot.mailbox.log -rw------- 1 dovecot dovecot 8 oct 17 2019 dovecot-uidvalidity -rw-rw-r-- 1 dovecot dovecot 1773 oct 8 2024 dovecot-uidlist -rw-rw-r-- 1 dovecot dovecot 54 oct 17 2019 subscriptions
This is my new Docker installation config:
2.4.1 (7d8c0e5759): /etc/dovecot/dovecot.conf
Pigeonhole version 2.4.1 (0a86619f)
OS: Linux 4.15.0 x86_64 Debian 12.11
Hostname: midovecot
4 default setting changes since version 2.4.0
dovecot_config_version = 2.4.0 auth_allow_weak_schemes = yes auth_debug_passwords = yes auth_mechanisms = plain login cram-md5 auth_verbose_passwords = yes debug_log_path = /dev/stdout default_internal_group = vmail default_internal_user = vmail default_login_user = vmail deliver_log_format = msgid=%{msgid}: %{message} (subject=%{subject} from=%{from} To=%{to_envelope} size=%{size}) dovecot_storage_version = 2.4.0 first_valid_gid = 119 first_valid_uid = 108 import_environment { CORE_ERROR = %{env:CORE_ERROR} CORE_OUTOFMEM = %{env:CORE_OUTOFMEM} MALLOC_MMAP_THRESHOLD_ = 131072 PATH = %{env:PATH} TZ = %{env:TZ} } instance_name = midovecot last_valid_gid = 119 last_valid_uid = 108 log_debug = category=mail log_path = /dev/stdout mail_driver = maildir mail_gid = vmail mail_home = /var/mail/%{user|lower} mail_log_events = delete undelete expunge copy mailbox_create mailbox_delete mailbox_rename flag_change append mail_plugins { notify = yes mail_log = yes acl = yes quota = yes } mail_uid = vmail mail_utf8_extensions = yes mailbox_list_layout = index mailbox_list_utf8 = yes protocols = imap lmtp sql_driver = mysql state_dir = /run/dovecot service imap-login { client_limit = 100 process_min_avail = 1 inet_listener imap { port = 0 } inet_listener imaps { port = 31993 ssl = yes } } service imap { } service pop3-login { inet_listener pop3 { port = 0 } inet_listener pop3s { port = 0 ssl = yes } } service pop3 { } service submission-login { inet_listener submission { port = 31587 } inet_listener submissions { port = 31465 } } service submission { } service managesieve-login { client_limit = 100 process_min_avail = 1 inet_listener sieve { port = 34190 } inet_listener sieve_deprecated { port = 2000 } } service managesieve { } service lmtp { unix_listener lmtp { } } service auth { unix_listener auth-userdb { } } service auth-worker { } service dict { unix_listener dict { } } service stats { process_min_avail = 1 inet_listener http { port = 9090 } } service doveadm { inet_listener http { port = 8080 ssl = yes } } mysql mimariadb { dbname = xxxxxx password = # hidden, use -P to show it user = xxxxxxx } passdb sql { default_password_scheme = CRYPT query = SELECT username, domain, home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, (CASE WHEN '%{mechanism}' = 'CRAM-MD5' THEN crampassword ELSE password END) AS password, concat('*:bytes=', quota) AS userdb_quota_rule, concat('*:messages=', quotamsgs) AS userdb_quota_rule3 FROM users WHERE username = '%{user|username}' AND domain = '%{user|domain}' AND active = 'Y' } userdb sql { iterate_query = SELECT username,domain AS user FROM users query = SELECT home, uid, gid, concat('*:bytes=', quota) AS quota_rule, concat('*:messages=', quotamsgs) AS quota_rule3 FROM users WHERE username = '%{ user | username | lower }' AND domain = '%{ user | domain | lower }' } auth_policy { hash_nonce = # hidden, use -P to show it server_api_header = Authorization: Basic d2ZvcmNlOmllcGE server_url = http://miwforce:8084 } ssl_server { cert_file = /dovecot/albertocerts/fullchain.pem key_file = /dovecot/albertocerts/privkey.pem key_password = # hidden, use -P to show it } namespace inbox { inbox = yes separator = / type = private mailbox Drafts { special_use = "\\Drafts" } mailbox Junk { special_use = "\\Junk" } mailbox Trash { auto = subscribe autoexpunge = 10d special_use = "\\Trash" quota_storage_extra = 100M } mailbox Sent { special_use = "\\Sent" } mailbox "Sent Messages" { special_use = "\\Sent" } } namespace shared { prefix = shared/$user/ type = shared } protocol imap { mail_plugins { imap_filter_sieve = yes imap_acl = yes imap_quota = yes } } protocol lmtp { mail_plugins { sieve = yes } } quota "User quota" { storage_size = 1G quota_warning warn-95 { quota_storage_percentage = 95 execute quota-warning { args = 95 %{user} } } quota_warning warn-80 { quota_storage_percentage = 80 execute quota-warning { args = 80 %{user} } } } service quota-warning { executable = script /dovecot/albertobin/quota-warning.sh user = vmail unix_listener quota-warning { user = vmail } }
Best Regards, Alberto