Subject: dovecot-imapd: dovecot starts before home directories are available

From: Peter Chubb <[email-masked]>
Date: Sat, 27 Apr 2024 10:46:43 +1000

Package: dovecot-imapd
Version: 1:2.3.21+dfsg1-3+b1
Severity: normal

Dear Maintainer,

   On my system, home directories are automounted using autofs over NFS.
   It appears that dovecot starts before the autofs daemon is completely
   ready. Thus, it seems to be looking at the (empty) mount point 
   and seeing no mailboxes in people's home directories.

   The workaround is to wait until the system is fully up, log in,
   and restart dovecot.

   It's taken me a while to work out what's going on; it seems to have come 
   when I started using systemd instead of sysV init.  I suspect it's an
   ordering issue, but it's not that obvious how to make dovecot delay
   starting until autofs is ready to mount directories.

-- Package-specific info:

dovecot configuration
---------------------
# 2.3.21 (47349e2482): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.21 (f6cd4b8e)
# OS: Linux 6.7.12-amd64 x86_64 Debian trixie/sid 
# Hostname: wombat.chubb.wattle.id.au
first_valid_uid = 130
mail_access_groups = mail
mail_full_filesystem_access = yes
mail_location = mbox:~/Mail/:INBOX=/var/mail/%u:INDEX=/var/indices/%u
mail_nfs_storage = yes
mail_privileged_group = mail
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Spam {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
  separator = /
}
passdb {
  driver = pam
}
passdb {
  driver = pam
}
protocols = " imap"
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+ECDHE-RSA-AES256-GCM-SHA384:+AES256:+CAMELLIA128:+AES128:+SSLv3:DES-CBC3-SHA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1
ssl_prefer_server_ciphers = yes
userdb {
  driver = passwd
}
userdb {
  driver = passwd
}

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dovecot-imapd depends on:
ii  dovecot-core  1:2.3.21+dfsg1-3+b1
ii  libbz2-1.0    1.0.8-5.1
ii  libc6         2.37-18
ii  liblz4-1      1.9.4-2
ii  liblzma5      5.6.1+really5.4.5-1
ii  libzstd1      1.5.5+dfsg2-2
ii  ucf           3.0043+nmu1
ii  zlib1g        1:1.3.dfsg-3.1

dovecot-imapd recommends no packages.

Versions of packages dovecot-imapd suggests:
pn  ufw  <none>

Versions of packages dovecot-imapd is related to:
ii  dovecot-core [dovecot-common]  1:2.3.21+dfsg1-3+b1
pn  dovecot-dev                    <none>
pn  dovecot-gssapi                 <none>
ii  dovecot-imapd                  1:2.3.21+dfsg1-3+b1
pn  dovecot-ldap                   <none>
pn  dovecot-lmtpd                  <none>
pn  dovecot-managesieved           <none>
pn  dovecot-mysql                  <none>
pn  dovecot-pgsql                  <none>
pn  dovecot-pop3d                  <none>
pn  dovecot-sieve                  <none>
pn  dovecot-sqlite                 <none>

-- no debconf information