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
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to