MUPDATE(8)
π MUPDATE(8) β the Cyrus IMAP glow-up π
okay so bestie, welcome to the manual page for mupdate, straight out of the Cyrus IMAP docs. it's the MUPDATE server process, and yes she's giving infrastructure royalty. π
β¨ SYNOPSIS β¨
mupdate [ -C config-file ] [ -m ] [ -a ]
that's it, that's the whole vibe check. three little flags between you and cluster peace. π
πΈ DESCRIPTION πΈ
so mupdate is the mailboxdb aggregation server, which is a fancy way of saying she's the group chat admin who keeps everybody's mailbox list in sync. π
she accepts commands on her standard input and responds on her standard output. that's the whole relationship: you talk, she answers.
π¨ important, no cap:mupdateMUST be invoked bymaster(8), with those descriptors attached to a remote client connection. she does not do walk-ins, she does not do solo missions, she has a designated handler and that handler ismaster(8). periodt.
she reads her configuration options out of the imapd.conf(5) file, unless you tell her otherwise with -C. queen of following the instructions until you hand her new ones. π
and now the fun part: if the directory log/user exists under the directory specified by the configdirectory configuration option, then mupdate will create protocol telemetry logs for sessions authenticating as user. lowkey surveillance, highkey useful. π
those telemetry logs get stored in the log/user directory, with a filename of the mupdate process-id. so if you're ever like "who was that", the pid will tell you. iykyk.
β¨ OPTIONS β¨
-Cconfig-file β use the specified configuration file config-file instead of the defaultimapd.conf(5). your config, your rules, main character energy. π¦-mβ run as the MUPDATE master. default is to act as slave. so if you don't say anything, she's a slave, which honestly is a whole mood. π-aβ [autoselect] checks themupdate_serversetting inimapd.conf(5)to see if this is the designated master server, and acts as master if this is the case. otherwise she acts as slave. it's giving "i'll be the leader if the config says so, otherwise i'm just here." β¨
π EXAMPLES π
so the way mupdate is commonly included in the SERVICES section of cyrus.conf(5) is literally like this:
SERVICES {
imap cmd="imapd -U 30" listen="imap" prefork=0
imaps cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
sieve cmd="timsieved" listen="sieve" prefork=0
notify cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
httpd cmd="httpd" listen=8080 prefork=1 maxchild=20
# (mupdate master, only one in the entire cluster)
mupdate cmd="mupdate -m" listen="mupdate" prefork=1
#
# (mupdate slave, run on each frontend host in the cluster)
# mupdate cmd="mupdate" listen="mupdate" prefork=1
}
read that comment again bestie: only one in the entire cluster for the master. one. singular. the moment you spawn a second master the whole thing is giving chaos π. the slave line is commented out because you run those on each frontend host in the cluster β that part's intentional, that part slays. π
π FILES π
/etc/imapd.conf
π₯ SEE ALSO π₯
π AUTHOR π
the Cyrus Team, and Nic Bernstein (Onlight). icons, frankly. π«Ά
π COPYRIGHT π
1993β2026, The Cyrus Team. yes she's been iconic since 1993, that's a long run bestie. π§
and that's the whole page! this was Cyrus IMAP documentation, version 3.12.3, dated Jul 15, 2026 β go forth and be the one and only master in your cluster, ok? no cap, mwah πβ¨π
π¦ where this page comes from
- ubuntu stonking: cyrus-murder 3.12.3-3build1 Β· CMU
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms